Transmitting apparatus and communication system

ABSTRACT

A transmitting apparatus included in a communication system that performs message communication using an error detection code with a receiving apparatus, the transmitting apparatus includes a transmission interval determining means that, based on a parameter related to a transmission error non-detection probability of a message per time, a data length of the message, and a code length of the error detection code used for the message, determines a transmission interval for transmitting the message, so that the transmission error non-detection probability of the message satisfies a condition related to a transmission error non-detection probability included in the parameter, wherein the message is transmitted to the receiving apparatus, based on the transmission interval determined by the transmission interval determining means.

TECHNICAL FIELD

The present invention relates to a transmitting apparatus and acommunication system, and more specifically, the present inventionrelates to a transmitting apparatus and a communication system forperforming communication required to ensure a transmission errornon-detection probability per time.

BACKGROUND ART

Technologies to improve reliability of correct communication in signaltransmission paths have been carried out by a transmitting sidetransmitting messages by adding an error detection code such as a cyclicredundancy check (CRC) to the messages, and a receiving side verifyingthe code in the received messages.

Another example resides in that a transmitting side transmits signals bydividing data into segments with a fixed signal length and generates aCRC for each of the divided segments with a fixed signal length, and areceiving side receives the signal and determines an error in each ofthe divided segments with a fixed signal length. Accordingly, thereliability of correct communication can further be improved. Atechnology that is a method of protecting data transmission in a databus, and in which at least one of data messages is transferred from atransmitting unit through the data bus, the data messages include avariable length data field and a checksum (CRC), and a receiving unitdetermines the data transfer quality based on the check sum is alsoknown (for example, see Patent Document 1).

[Patent Document 1] Japanese Patent Application Laid-open No.2003-513512

DISCLOSURE OF INVENTION Problem to be Solved by the Invention

However, in the above-described conventional transmission methods,quantitative evaluation is not performed on the error detectionprobability. Accordingly, they are difficult to use for the purpose inwhich a desired transmission error non-detection probability of amessage per time needs to be ensured. In other words, the conventionaltransmission methods cannot restrain the transmission errornon-detection probability of the message to equal to or less than acertain target value. Consequently, for example, because data related tosafety is also transmitted during communication for Factory Automation(FA), a large number of message transmission errors cause problems.Because unnecessary data division and coding are also often performed toensure desired reliability of correct communication, transmissionefficiency cannot be improved.

The present invention has been made in view of the above circumstances,and intended to provide a communication apparatus, a receivingapparatus, and a communication system in which the required reliabilityof correct communication is quantitatively ensured, and that enablesefficient communication.

Means for Solving Problem

In order to solve the above mentioned problem and achieve the object, atransmitting apparatus according to the present invention included in acommunication system that performs message communication using an errordetection code with a receiving apparatus, the transmitting apparatusincludes a transmission interval determining means that, based on aparameter related to a transmission error non-detection probability of amessage per time, a data length of the message, and a code length of theerror detection code used for the message, determines a transmissioninterval for transmitting the message, so that the transmission errornon-detection probability of the message satisfies a condition relatedto a transmission error non-detection probability included in theparameter, wherein the message is transmitted to the receivingapparatus, based on the transmission interval determined by thetransmission interval determining means.

EFFECT OF THE INVENTION

The communication system according to the present invention canadvantageously obtain reliability of correct communication required totransmit signals, because it is possible to quantitatively ensurecorrect communication. It is also possible to advantageously obtain acommunication system that enables efficient communication, becauseunnecessary data division and coding are not performed.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1-1 is a diagram for explaining a configuration of a communicationsystem according to a first embodiment of the present invention.

FIG. 1-2 is a block diagram for explaining a configuration of atransmitting apparatus of the communication system according to thefirst embodiment of the present invention.

FIG. 1-3 is a diagram illustrating a configurational example oftransmission data (message) assembled by the transmitting apparatus ofthe communication system according to the first embodiment of thepresent invention.

FIG. 1-4 is a flowchart for explaining a process performed by thetransmitting apparatus according to the first embodiment of the presentinvention.

FIG. 1-5 is a block diagram for explaining a configuration of areceiving apparatus of the communication system according to the firstembodiment of the present invention.

FIG. 1-6 is a flowchart for explaining a process performed by thereceiving apparatus according to the first embodiment of the presentinvention.

FIG. 2-1 is a diagram for explaining a configuration of a communicationsystem according to a second embodiment of the present invention.

FIG. 2-2 is a block diagram for explaining a configuration of atransmitting apparatus of the communication system according to thesecond embodiment of the present invention.

FIG. 2-3 is a diagram illustrating an example of a code correspondencetable of the communication system according to the second embodiment ofthe present invention.

FIG. 2-4 is a flowchart for explaining a process performed by thetransmitting apparatus according to the second embodiment of the presentinvention.

FIG. 2-5 is a block diagram for explaining a configuration of areceiving apparatus of the communication system according to the secondembodiment of the present invention.

FIG. 2-6 is a flowchart for explaining a process performed by thereceiving apparatus according to the second embodiment of the presentinvention.

FIG. 3-1 is a diagram for explaining a configuration of a communicationsystem according to a third embodiment of the present invention.

FIG. 3-2 is a block diagram for explaining a configuration of atransmitting apparatus of the communication system according to thethird embodiment of the present invention.

FIG. 3-3 is a flowchart for explaining a process performed by thetransmitting apparatus according to the third embodiment of the presentinvention.

FIG. 3-4 is a block diagram for explaining a configuration of areceiving apparatus of the communication system according to the thirdembodiment of the present invention.

FIG. 3-5 is a flowchart for explaining a process performed by thereceiving apparatus according to the third embodiment of the presentinvention.

FIG. 4-1 is a diagram for explaining a configuration of a communicationsystem according to a fourth embodiment of the present invention.

FIG. 4-2 is a block diagram for explaining a configuration of atransmitting apparatus of the communication system according to thefourth embodiment of the present invention.

FIG. 4-3 is a flowchart for explaining a process performed by thetransmitting apparatus according to the fourth embodiment of the presentinvention.

FIG. 4-4 is a block diagram for explaining a configuration of areceiving apparatus of the communication system according to the fourthembodiment of the present invention.

FIG. 4-5 is a flowchart for explaining a process performed by thereceiving apparatus according to the fourth embodiment of the presentinvention.

FIG. 5-1 is a block diagram for explaining a configuration of atransmitting apparatus of a communication system according to a fifthembodiment of the present invention.

FIG. 5-2 is a flowchart for explaining a process performed by thetransmitting apparatus according to the fifth embodiment of the presentinvention.

FIG. 6-1 is a block diagram for explaining a configuration of atransmitting apparatus of a communication system according to a sixthembodiment of the present invention.

FIG. 6-2 is a flowchart for explaining a process performed by thetransmitting apparatus according to the sixth embodiment of the presentinvention.

FIG. 7-1 is a block diagram for explaining a configuration of atransmitting apparatus of a communication system according to a seventhembodiment of the present invention.

FIG. 7-2 is a flowchart for explaining a process performed by thetransmitting apparatus according to the seventh embodiment of thepresent invention.

EXPLANATIONS OF LETTERS OR NUMERALS

-   1 parameter input unit-   2 transmission error non-detection probability judging unit-   3 header and data input unit-   4 division length determining unit-   5 data dividing unit-   6 data CRC generating unit-   7 transmission data assembling unit-   8 transmitting unit-   9 code length determining unit-   10 division length and code length determining unit-   11 header CRC generating unit-   21 receiving unit-   22 division length judging unit-   23 data dividing unit-   24 data CRC judging unit-   25 data assembling unit-   26 data output unit-   27 code length judging unit-   28 division length and code length judging unit-   29 header CRC judging unit-   30 header judging unit-   31 code correspondence table

BEST MODE(S) FOR CARRYING OUT THE INVENTION

Exemplary embodiments of a communication apparatus, a receivingapparatus, and a communication system according to the present inventionwill be described in detail with reference to the accompanying drawings.However, the present invention is not limited to the followingdescription, and changes may be appropriately made without departingfrom the spirit and scope of the present invention.

First Embodiment

FIG. 1-1 is a diagram for explaining a configuration of a communicationsystem according to a first embodiment of the present invention. Acommunication system S1 according to the first embodiment includes atransmitting apparatus T1 and a receiving apparatus R1 connected with acommunication line C. In FIG. 1-1, one communication system S1 includesthe transmitting apparatus T1 mounted on equipment A for FactoryAutomation (FA), and the receiving apparatus R1 mounted on equipment Bfor FA. Another communication system S1 includes the transmittingapparatus T1 mounted on the equipment B and the receiving apparatus R1mounted on the equipment A. The equipment A is a control device such asa Programmable Controller (PLC). The equipment B is a controllableobject such as a processing device.

The Programmable Controller (PLC) (equipment A) that is a controldevice, for example, includes a Micro Processing Unit (MPU) thatcontrols a process performed in the Programmable Controller (PLC), asystem program Read-Only Memory (ROM) that stores therein a systemprogram for executing a basic operation in the Programmable Controller(PLC), and a system work RAM that is a memory region used by the systemprogram. The Programmable Controller also includes an interface (in thediagram, referred to as data bus I/F) used to communicate with the FAequipment B, a user program Random Access Memory (RAM) that storestherein a user program executed by the Programmable Controller (PLC),and user data RAM that stores therein data used by the user program. Theprocessing units are connected by a bus. In FIG. 1-1, illustrationsother than the interface (in the diagram, referred to as data bus I/F)and the MPU are omitted.

The processing device (equipment B) that is a controllable object, forexample, includes low-order equipment to be controlled in the processingdevice such as a motor, a Micro Processing Unit (MPU) that controls aprocess performed by the processing device, and an interface (in thediagram, referred to as data bus I/F) used to communicate with the FAequipment B. The processing units are connected by a bus. In FIG. 1-1,illustrations other than the interface (in the diagram, referred to asdata bus I/F) and the MPU are omitted.

The communication system S1 that includes the transmitting apparatus T1and the receiving apparatus R1 will now be described. FIG. 1-2 is ablock diagram for explaining a configuration of the transmittingapparatus T1 of the communication system S1 according to the firstembodiment. The transmitting apparatus T1 includes a parameter inputunit 1, a transmission error non-detection probability judging unit 2, aheader and data input unit 3, a division length determining unit 4, adata dividing unit 5, a data CRC generating unit 6, a header CRCgenerating unit 11, a transmission data assembling unit 7, and atransmitting unit 8.

The functions of the units will now be described. The parameter inputunit 1 receives a parameter related to a transmission errornon-detection probability of a message per time, before the transmittingapparatus T1 receives data to be transmitted. The parameter includes areference value of the transmission error non-detection probability ofthe message per time, a probability of generating bit errors in acommunication channel, a transmission rate of the communication channel,the number of messages (transmission data) per unit time, and the numberof pieces of communication equipment being connected. The parameterinput unit 1 sends the received parameter to the transmission errornon-detection probability judging unit 2.

The header and data input unit 3 receives data to be transmitted, forexample, from an application running in the equipment A, after theparameter input unit 1 receives the parameter. The header and data inputunit 3 sends the data length of the data to the division lengthdetermining unit 4, and sends a header and data to the data dividingunit 5. The division length determining unit 4 sets the data lengthreceived from the header and data input unit 3 as an initial value ofthe division length (initialization of division length), and sends thedivision length and the data length to the transmission errornon-detection probability judging unit 2.

The transmission error non-detection probability judging unit 2 storestherein a predetermined evaluation function related to a transmissionerror non-detection probability, and calculates a transmission errornon-detection probability (probability that cannot detect transmissionerrors=error rate) Λ by using the evaluation function. The transmissionerror non-detection probability judging unit 2 also calculates othercondition values required for communication. In the first embodiment,the transmission error non-detection probability judging unit 2calculates a transmission error non-detection probability Λ, based onthe data length and the division length received from the divisionlength determining unit 4, the parameter received from the parameterinput unit 1, and a CRC code length (generator polynomial). Here, apredetermined CRC code length (generator polynomial) stored in thetransmission error non-detection probability judging unit 2 is used.

The transmission error non-detection probability judging unit 2determines whether the calculated transmission error non-detectionprobability Λ satisfies a reference value of the transmission errornon-detection probability of the parameter, and notifies the divisionlength determining unit 4 of the judgment result. The judgment result iseither NG (the calculated transmission error non-detection probability Λdoes not satisfy the reference value of the transmission errornon-detection probability) or OK (the calculated transmission errornon-detection probability Λ satisfies the reference value of thetransmission error non-detection probability).

For example, the following formula (1) may be used to calculate anevaluation function f (n, p, v, d, m) for calculating the transmissionerror non-detection probability Λ per unit time.Λ=3600×R(p)×v×(m−1)  (1)

Here, v is the number of messages (transmission frequency) per onesecond, and m is the number of devices being connected including thetransmitting apparatus.

R(p) is a transmission error non-detection probability per one message,when a probability of generating bit errors in a communication channelis p, and is generally calculated by the following formula:R(p)=Σ(e=d to n){A(n,e)×p^e×(1−p)^(n−e)}

Here, Σ(e=d to n) means a sum of a value e from d to n, for thesubsequent expression in the curly brackets. d is a characteristic valueof an error detection code (Hamming distance). A(n, e) is a two-termformula, and is expressed by the following formula:(n,e)=n!×e!/(n−e)!

n is the message length (the number of bits in a frame), and n! is thefactorial of n. p^e is p raised to the e-th power. R(p) may also be avalue in which the characteristics of an error detection code such as aCRC is taken into consideration.

Upon receiving the judgment result from the transmission errornon-detection probability judging unit 2, and if the judgment result isNG (the calculated transmission error non-detection probability Λ doesnot satisfy the reference value of the transmission error non-detectionprobability), the division length determining unit 4 reduces thedivision length, and notifies the transmission error non-detectionprobability judging unit 2 of the data length and the reduced divisionlength again. Upon receiving the judgment result from the transmissionerror non-detection probability judging unit 2, and if the judgmentresult is OK (the calculated transmission error non-detectionprobability Λ satisfies the reference value of the transmission errornon-detection probability), the division length determining unit 4 sendsthe division length to the data dividing unit 5.

The data dividing unit 5 stores the division length received from thedivision length determining unit 4 in the header received from theheader and data input unit 3, and sends the header to the header CRCgenerating unit 11 and the transmission data assembling unit 7. The datadividing unit 5 also divides the data received from the header and datainput unit 3, based on the division length received from the divisionlength determining unit 4, and sends the divided data to the data CRCgenerating unit 6 and the transmission data assembling unit 7.

The data CRC generating unit 6 generates a data CRC based on the divideddata received from the data dividing unit 5, by calculating the data CRCusing a predetermined CRC generator polynomial stored therein, and sendsthe data CRC to the transmission data assembling unit 7. The header CRCgenerating unit 11 generates a header CRC based on the header receivedfrom the data dividing unit 5 by calculating the header CRC by using apredetermined CRC generator polynomial stored therein, and sends theheader CRC to the transmission data assembling unit 7.

The transmission data assembling unit 7 assembles transmission data(message) with the header and the divided data received from the datadividing unit 5, the header CRC received from the header CRC generatingunit 11, and the data CRC received from the data CRC generating unit 6,and sends the transmission data (message) to the transmitting unit 8.

The transmitting unit 8 transmits the transmission data (message)received from the transmission data assembling unit 7 to thecommunication line C. FIG. 1-3 is a diagram illustrating aconfigurational example of transmission data (message) being assembled.The transmission data (message) shown in FIG. 1-3 is transmission datain which data is divided into n segments, and includes a header, aheader CRC for the header, divided data 1, a data CRC1 for the data 1,divided data 2, a data CRC2 for the data 2, . . . , divided data n, anda data CRCn for the data n.

A transmission process performed by the transmitting apparatus T1 willbe described with reference to FIG. 1-4. FIG. 1-4 is a flowchart forexplaining a process performed by the transmitting apparatus T1according to the first embodiment. The parameter input unit 1 receives aparameter (Step S1). For example, a calculator such as a personalcomputer is connected to the transmitting apparatus T1, and theparameter input unit 1 receives the parameter from the personal computerand the like. The parameter input unit 1 sends the received parameter tothe transmission error non-detection probability judging unit 2.

The header and data input unit 3 receives data to be transmitted to thereceiving apparatus R1, for example, from an application running in theequipment A, after the parameter input unit 1 receives the parameter.The header and data input unit 3 then sends the data length of the datato the division length determining unit 4, and sends a header and datato the data dividing unit 5.

Upon receiving the data length from the header and data input unit 3,the division length determining unit 4 sets (initializes) the receiveddata length as an initial value of the division length (Step S2). Thedivision length determining unit 4 then sends the division length andthe data length to the transmission error non-detection probabilityjudging unit 2. The transmission error non-detection probability judgingunit 2 calculates a transmission error non-detection probability Λ,based on the data length and the division length received from thedivision length determining unit 4, the parameter received from theparameter input unit 1, and the CRC code length (generator polynomial)(in FIG. 1-4, referred to as error rate. The same applies to thefollowing diagrams.) (Step S3).

The transmission error non-detection probability judging unit 2determines whether the calculated transmission error non-detectionprobability Λ satisfies the reference value of the transmission errornon-detection probability of the parameter (Step S4), and notifies thedivision length determining unit 4 of the judgment result. The judgmentresult of either NG (the calculated transmission error non-detectionprobability Λ does not satisfy the reference value of the transmissionerror non-detection probability) or OK (the calculated transmissionerror non-detection probability Λ satisfies the reference value of thetransmission error non-detection probability) is notified.

If the received judgment result is NG (NO at Step S4), the divisionlength determining unit 4 reduces the division length, notifies thetransmission error non-detection probability judging unit 2 of the datalength and the reduced division length again (Step S5), and starts againfrom Step S3. If the received judgment result is OK (YES at Step S4),the division length determining unit 4 adopts the division length atthis time, and sends the division length to the data dividing unit 5.

The data dividing unit 5 stores the division length received from thedivision length determining unit 4, in the header received from theheader and data input unit 3 and in which information such as an addressof a message is included (Step S6). The data dividing unit 5 then sendsthe header to the header CRC generating unit 11 and the transmissiondata assembling unit 7. The header CRC generating unit 11 generates aheader CRC based on the header received from the data dividing unit 5,by using a predetermined CRC generator polynomial stored therein (StepS7), and sends the header CRC to the transmission data assembling unit7.

The data dividing unit 5, based on the division length received from thedivision length determining unit 4, divides the data received from theheader and data input unit 3 into segments of the division length andextracts the divided data segments (Step S8). The data dividing unit 5then sends the divided data to the data CRC generating unit 6 and thetransmission data assembling unit 7. The data CRC generating unit 6generates a data CRC from the divided data received from the datadividing unit 5 by calculating the data CRC using a predetermined CRCgenerator polynomial stored therein (Step S9), and sends the data CRC tothe transmission data assembling unit 7.

The transmission data assembling unit 7 assembles transmission data(message) with the header and the divided data received from the datadividing unit 5, the header CRC received from the header CRC generatingunit 11, and the data CRC received from the data CRC generating unit 6(Step S10). The transmission data assembling unit 7 then determineswhether the extraction (assembly) of the divided data received from thedata dividing unit 5 is completed (Step S11).

If the transmission data assembling unit 7 determines that theextraction is not yet completed (NO at Step S11), the process returns toStep S8 and the process is repeated until the extraction is completed.If the transmission data assembling unit 7 determines that theextraction is completed (YES at Step S11), the transmission dataassembling unit 7 sends the transmission data (message) to thetransmitting unit 8. The transmitting unit 8 transmits the transmissiondata (message) received from the transmission data assembling unit 7 tothe communication line C, and finishes the series of processes (StepS12). The transmission data (message) transmitted from the transmittingapparatus T1 is sent to the receiving apparatus R1 through thecommunication line C.

Every time the transmitting apparatus T1 receives data from theapplication running in the equipment A, the process is repeated fromStep S1 to Step S12. However, when the same parameters are used, theprocess at Step S1 may be omitted in the second and subsequentprocesses.

FIG. 1-5 is a block diagram for explaining a configuration of thereceiving apparatus R1 of the communication system S1 according to thefirst embodiment. The receiving apparatus R1 includes a receiving unit21, a division length judging unit 22, a data dividing unit 23, a dataCRC judging unit 24, a data assembling unit 25, a data output unit 26,and a header CRC judging unit 29.

The receiving unit 21 receives reception data (message) as shown in FIG.1-3 from the communication line, and sends the reception data (message)to the division length judging unit 22. The division length judging unit22 obtains a header and a header CRC from the reception data receivedfrom the receiving unit 21, and sends the header and the header CRC tothe header CRC judging unit 29. The division length judging unit 22 alsoreceives a judgment result from the header CRC judging unit 29, and onlyif the judgment result is OK (the check result is correct), obtains thedivision length from the header, and sends the reception data and thedivision length to the data dividing unit 23.

The header CRC judging unit 29 checks the header CRC based on the headerreceived from the division length judging unit 22, by using apredetermined generator polynomial stored therein, and notifies thedivision length judging unit 22 of the judgment result. The judgmentresult is either NG (the check result is wrong) or OK (the check resultis correct).

The data dividing unit 23 divides the reception data into segments whoselength is obtained by adding the division length received from thedivision length judging unit 22 and the code length of a predetermineddata CRC stored therein, and sends the whole, in other words, thedivided data and the data CRC to the data CRC judging unit 24. The datadividing unit 23 also sends the divided data formed of data portions, tothe data assembling unit 25.

The data CRC judging unit 24 checks the data CRC by using apredetermined generator polynomial stored therein, and notifies the dataassembling unit 25 of the judgment result. The judgment result is eitherNG (the check result is wrong) or OK (the check result is correct).

The data assembling unit 25 receives the judgment result sent from thedata CRC judging unit 24, and only if all the judgment results of thedivided data segments are OK (the check result is correct), assemblesthe divided data, and sends the data to the data output unit 26. Thedata output unit 26 receives the data sent from the data assembling unit25, and outputs the data to the application and the like running in theequipment B.

A reception process performed by the receiving apparatus R1 will bedescribed with reference to FIG. 1-6. FIG. 1-6 is a flowchart forexplaining a process performed by the receiving apparatus R1 accordingto the first embodiment. The receiving unit 21 of the receivingapparatus R1 receives reception data (message) from the communicationline (Step S31), and sends the reception data (message) to the divisionlength judging unit 22. The division length judging unit 22 obtains aheader and a header CRC from the reception data received from thereceiving unit 21, and sends the header and the header CRC to the headerCRC judging unit 29.

The header CRC judging unit 29 checks the header CRC based on theheader, by using a predetermined generator polynomial stored therein(Step S32), and notifies the division length judging unit 22 of thejudgment result. The judgment result is either NG (the check result iswrong) or OK (the check result is correct).

Upon receiving the judgment result from the header CRC judging unit 29,and if the judgment result is NG (the check result is wrong) (NO at StepS32), the division length judging unit 22 determines that an error isdetected in the reception data (Step S33), and finishes the series ofprocesses. Upon receiving the judgment result from the header CRCjudging unit 29, and if the judgment result is OK (the check result iscorrect) (YES at Step S32), the division length judging unit 22 obtainsthe division length from the header (Step S34), and sends the receptiondata and the division length to the data dividing unit 23.

The data dividing unit 23 divides the reception data into segments whoselength is obtained by adding the division length received from thedivision length judging unit 22 and the code length of a predetermineddata CRC, and reads the divided data (Step S35). The data dividing unit23 then sends the divided data and the data CRC to the data CRC judgingunit 24. The data dividing unit 23 also sends the divided data formed ofdata portions, to the data assembling unit 25.

The data CRC judging unit 24 checks the data CRC by using apredetermined generator polynomial (Step S36), and notifies the dataassembling unit 25 of the judgment result. The judgment result is eitherNG (the check result is wrong) or OK (the check result is correct).

Upon receiving the judgment result from the data CRC judging unit 24,and if the judgment result is NG (the check result is wrong) (NO at StepS36), the data assembling unit 25 determines that an error is detectedin the reception data (Step S33), and finishes the series of processes.Upon receiving the judgment result from the data CRC judging unit 24,and if the judgment result is OK (the check result is correct) (YES atStep S36), the data assembling unit 25 determines whether the data CRCof all the divided data segments has been checked (Step S37).

If the data assembling unit 25 determines that the data CRC of all thedivided data segments has not been checked (NO at Step S37), the dataassembling unit 25 sends information with which the check result iscorrect to the data CRC judging unit 24, and the process returns to StepS35. The data CRC judging unit 24 receives the information, and checksthe CRC of the next divided data segment (Step S35). The processes fromStep S35 to Step S37 are repeated until the data CRC of all the divideddata segments has been checked.

If the data assembling unit 25 determines that the CRC calculationsperformed on all the divided data segments are correct, and that thedata CRC of all the divided data segments has been checked (YES at StepS37), the data assembling unit 25 determines that the data is receivedproperly (Step S38), assembles the divided data, and sends the data tothe data output unit 26. The data output unit 26 receives the data sentfrom the data assembling unit 25, outputs the data to the applicationand the like running in the equipment B, and finishes the series ofprocesses.

As described above, the transmitting apparatus T1 (communication systemS1) according to the first embodiment can transmit messages, by dividingdata so as to ensure the upper limit of the non-detection probability ofmessage transmission errors per time. Accordingly, it is possible toperform communication while ensuring the desired reliability of correctcommunication, by restraining the transmission error non-detectionprobability of the message to equal to or less than a desired targetvalue. Because unnecessary data division is not performed, it ispossible to perform efficient communication.

In the aforementioned process, the transmission error non-detectionprobability judging unit 2 repeats calculation while changing thedivision length, until the calculated transmission error non-detectionprobability Λ satisfies the reference value of the transmission errornon-detection probability of the parameter. However, a division lengththat satisfies the reference value of the transmission errornon-detection probability of the parameter may be directly calculated bymodifying the above-described evaluation function (1).

The division length (the number of bits in a frame) that satisfies thereference value of the transmission error non-detection probability ofthe parameter may be calculated by an evaluation function g (m, p, v, d,Λ). The evaluation function g (m, p, v, d, Λ) can be derived bymodifying the above-described evaluation function f (m, p, v, d, n). Insuch an event, because a division length (the number of bits in a frame)corresponding to the reference value of the transmission errornon-detection probability of the parameter is calculated, the divisionlength equal to or less than the calculated division length may beadopted.

Second Embodiment

FIG. 2-1 is a diagram for explaining a configuration of a communicationsystem according to a second embodiment of the present invention. Acommunication system S2 according to the second embodiment includes atransmitting apparatus T2 and a receiving apparatus R2 connected withthe communication line C. In FIG. 2-1, one communication system S2includes the transmitting apparatus T2 mounted on the equipment A forFA, and the receiving apparatus R2 mounted on the equipment B for FA.Another communication system S1 includes the transmitting apparatus T2mounted on the equipment B and the receiving apparatus R2 mounted on theequipment A. Because the equipment A, the equipment B, and the like arethe same as those in the first embodiment, the description in the firstembodiment is applicable, and detailed description thereof is omittedhere.

FIG. 2-2 is a block diagram for explaining a configuration of thetransmitting apparatus T2 of the communication system S2 according tothe second embodiment. The transmitting apparatus T2 includes theparameter input unit 1, the transmission error non-detection probabilityjudging unit 2, the header and data input unit 3, a code lengthdetermining unit 9, the data dividing unit 5, the data CRC generatingunit 6, the header CRC generating unit 11, the transmission dataassembling unit 7, and the transmitting unit 8. The same components asthose in the first embodiment are denoted by the same reference numeralsas in the first embodiment.

The functions of the units will now be described. The parameter inputunit 1 receives a parameter related to a transmission errornon-detection probability of the message per time, before thetransmitting apparatus T2 receives data to be transmitted. The parameterincludes a reference value of the transmission error non-detectionprobability of the message per time, a probability of generating biterrors in a communication channel, a transmission rate of thecommunication channel, the number of messages (transmission data) perunit time, and the number of pieces of communication equipment beingconnected. The parameter input unit 1 sends the received parameter tothe transmission error non-detection probability judging unit 2.

The transmitting apparatus T2 stores therein a code correspondence table31 used in common with the receiving apparatus R2 in advance. FIG. 2-3is a diagram illustrating an example of the code correspondence table31. The code correspondence table 31 stores therein a list of codeidentification numbers, the code lengths, and CRC generator polynomials.Here, the code length is used as an identifier for a code.

The header and data input unit 3 receives data to be transmitted, forexample, from an application running in the equipment A, after theparameter input unit 1 receives the parameter. The header and data inputunit 3 sends the data length of the data to the code length determiningunit 9, and sends a header and data to the data dividing unit 5. Thecode length determining unit 9 sets the code length of a standardgenerator polynomial (such as 16 bits) in the code correspondence table31 as an initial value of the code length (initialization of codelength), and sends the code length and the data length to thetransmission error non-detection probability judging unit 2.

The transmission error non-detection probability judging unit 2 storestherein a predetermined evaluation function related to a transmissionerror non-detection probability, and calculates a transmission errornon-detection probability Λ by using the evaluation function. Thetransmission error non-detection probability judging unit 2 alsocalculates other condition values required for communication. In thesecond embodiment, the transmission error non-detection probability Λ(probability that cannot detect transmission errors=error rate) iscalculated, based on the data length and the code length received fromthe code length determining unit 9, the parameter received from theparameter input unit 1, and a division length. Here, a predetermineddivision length stored in the transmission error non-detectionprobability judging unit 2 is used.

The transmission error non-detection probability judging unit 2determines whether the calculated transmission error non-detectionprobability Λ satisfies a reference value of the transmission errornon-detection probability of the parameter (whether equal or less thanthe reference value of the transmission error non-detectionprobability), and notifies the code length determining unit 9 of thejudgment result. The judgment result is either NG (the calculatedtransmission error non-detection probability Λ is higher than thereference value of the transmission error non-detection probability) orOK (the calculated transmission error non-detection probability Λ isequal to or less than the reference value of the transmission errornon-detection probability).

Upon receiving the judgment result from the transmission errornon-detection probability judging unit 2, and if the judgment result isNG (the calculated transmission error non-detection probability Λ doesnot satisfy the reference value of the transmission error non-detectionprobability (higher than the reference value of the transmission errornon-detection probability)), the code length determining unit 9increases the code length by selecting a longer generator polynomialfrom the code correspondence table 31, and notifies the transmissionerror non-detection probability judging unit 2 of the data length andthe code length again. Upon receiving the judgment result from thetransmission error non-detection probability judging unit 2, and if thejudgment result is OK (the calculated transmission error non-detectionprobability Λ satisfies the reference value of the transmission errornon-detection probability (the calculated transmission errornon-detection probability Λ is equal to or less than the reference valueof the transmission error non-detection probability)), the code lengthdetermining unit 9 sends the code length to the data dividing unit 5.

The data dividing unit 5 stores the code length received from the codelength determining unit 9 in the header received from the header anddata input unit 3, and sends the header to the header CRC generatingunit 11 and the transmission data assembling unit 7. Based on apredetermined division length stored therein, the data dividing unit 5divides the data received from the header and data input unit 3, andsends the code length and the divided data to the data CRC generatingunit 6 and the divided data to the transmission data assembling unit 7.

The data CRC generating unit 6 generates a data CRC based on the codelength and the divided data received from the data dividing unit 5, byusing a generator polynomial corresponding to the code length byreferring to the code correspondence table 31, and sends the data CRC tothe transmission data assembling unit 7. The header CRC generating unit11 generates a header CRC based on the header received from the datadividing unit 5, by calculating the header CRC using a predetermined CRCgenerator polynomial stored therein, and sends the header CRC to thetransmission data assembling unit 7.

The transmission data assembling unit 7 assembles transmission data(message) with the header and the divided data received from the datadividing unit 5, the header CRC received from the header CRC generatingunit 11, and the data CRC received from the data CRC generating unit 6,and sends the transmission data (message) to the transmitting unit 8.

The transmitting unit 8 transmits the transmission data (message)received from the transmission data assembling unit 7 to thecommunication line C. A configurational example of an image of thetransmission data (message) being assembled is illustrated in FIG. 1-3.

A transmission process performed by the transmitting apparatus T2 willbe described with reference to FIG. 2-4. FIG. 2-4 is a flowchart forexplaining a process performed by the transmitting apparatus T2according to the second embodiment. The parameter input unit 1 receivesa parameter (Step S1). For example, a calculator such as a personalcomputer is connected to the transmitting apparatus T2, and theparameter input unit 1 receives the parameter from the personal computerand the like. The parameter input unit 1 sends the received parameter tothe transmission error non-detection probability judging unit 2.

The header and data input unit 3 receives data to be transmitted to thereceiving apparatus R2, for example, from an application running in theequipment A, after the parameter input unit 1 receives the parameter.The header and data input unit 3 then sends the data length of the datato the code length determining unit 9, and sends a header and data tothe data dividing unit 5.

The code length determining unit 9 sets the code length of a standardgenerator polynomial (such as 16 bits) in the code correspondence table31 as an initial value of the code length (initialization of codelength), and sends the code length and the data length to thetransmission error non-detection probability judging unit 2 (Step S13).

The transmission error non-detection probability judging unit 2calculates a transmission error non-detection probability (error rate)Λ, based on the data length and the code length received from the codelength determining unit 9, the parameter received from the parameterinput unit 1, and a division length (Step S14). Here, a predetermineddivision length stored in the transmission error non-detectionprobability judging unit 2 is used.

The transmission error non-detection probability judging unit 2determines whether the calculated transmission error non-detectionprobability Λ satisfies the reference value of the transmission errornon-detection probability of the parameter (Step S4), and notifies thecode length determining unit 9 of the judgment result. The judgmentresult of either NG (the calculated transmission error non-detectionprobability Λ is higher than the reference value of the transmissionerror non-detection probability) or OK (the calculated transmissionerror non-detection probability Λ is equal to or less than the referencevalue of the transmission error non-detection probability) is notified.

If the received judgment result is NG (NO at Step S4), the code lengthdetermining unit 9 increases the code length by selecting a longergenerator polynomial from the code correspondence table 31, notifies thetransmission error non-detection probability judging unit 2 of the datalength and the increased code length again (Step S15), and starts againfrom Step S13. If the received judgment result is OK (YES at Step S4),the code length determining unit 9 adopts the code length at this time,and sends the code length to the data dividing unit 5.

The data dividing unit 5 stores the code length received from the codelength determining unit 9 in the header received from the header anddata input unit 3 and in which information such as an address of amessage is included (Step S16). The data dividing unit 5 then sends theheader to the header CRC generating unit 11 and the transmission dataassembling unit 7. The header CRC generating unit 11 generates a headerCRC based on the header received from the data dividing unit 5, by usinga predetermined CRC generator polynomial stored therein (Step S7), andsends the header CRC to the transmission data assembling unit 7.

The data dividing unit 5, based on a predetermined division lengthstored therein, divides the data received from the header and data inputunit 3 into segments and extracts the divided data segments (Step S8).The data dividing unit 5 then sends the code length and the divided datato the data CRC generating unit 6, and sends the divided data to thetransmission data assembling unit 7. The data CRC generating unit 6generates a data CRC based on the code length and the divided datareceived from the data dividing unit 5, by calculating the data CRCusing a generator polynomial corresponding to the code length byreferring to the code correspondence table 31 (Step S9), and sends thedata CRC to the transmission data assembling unit 7.

The transmission data assembling unit 7 assembles transmission data(message) with the header and the divided data received from the datadividing unit 5, the header CRC received from the header CRC generatingunit 11, and the data CRC received from the data CRC generating unit 6(Step S10). The transmission data assembling unit 7 then determineswhether the extraction (assembly) of the divided data received from thedata dividing unit 5 is completed (Step S11).

If the transmission data assembling unit 7 determines that theextraction is not yet completed (NO at Step S11), the process returns toStep S8, and the process is repeated until the extraction is completed.If the transmission data assembling unit 7 determines that theextraction is completed (YES at Step S11), the transmission dataassembling unit 7 sends the transmission data (message) to thetransmitting unit 8. The transmitting unit 8 transmits the transmissiondata (message) received from the transmission data assembling unit 7 tothe communication line C, and finishes the series of processes (Step S12). The transmission data (message) transmitted from the transmittingapparatus T2 is sent to the receiving apparatus R2 through thecommunication line C.

Every time the transmitting apparatus T2 receives data from theapplication running in the equipment A, the process is repeated fromStep S1 to Step S12. However, when the same parameters are used, theprocess at Step S1 may be omitted in the second and subsequentprocesses.

FIG. 2-5 is a block diagram for explaining a configuration of thereceiving apparatus R2 of the communication system S2 according to thesecond embodiment. The receiving apparatus R2 includes the receivingunit 21, a code length judging unit 27, the data dividing unit 23, thedata CRC judging unit 24, the data assembling unit 25, the data outputunit 26, and the header CRC judging unit 29.

The receiving apparatus R2 stores therein the code correspondence table31 used in common with the transmitting apparatus T2 in advance. Thecode correspondence table 31 stores therein a list of codeidentification numbers, the code lengths, and CRC generator polynomials.Here, the code length is used as an identifier for a code.

The receiving unit 21 receives reception data (message) as shown in FIG.1-3 from the communication line, and sends the reception data (message)to the code length judging unit 27. The code length judging unit 27obtains a header and a header CRC from the reception data received fromthe receiving unit 21, and sends the header and the header CRC to theheader CRC judging unit 29. The code length judging unit 27 receives thejudgment result from the header CRC judging unit 29, and only if thejudgment result is OK (the check result is correct), obtains a codelength from the header, and sends the reception data and the code lengthto the data dividing unit 23.

The header CRC judging unit 29 checks the header CRC based on the headerreceived from the code length judging unit 27, by using a predeterminedgenerator polynomial stored therein, and notifies the code lengthjudging unit 27 of the judgment result. The judgment result is either NG(the check result is wrong) or OK (the check result is correct).

The data dividing unit 23 divides the reception data into segments whoselength is obtained by adding a predetermined division length storedtherein and the code length received from the code length judging unit27, and sends the whole, in other words, the divided data, the data CRC,and the code length to the data CRC judging unit 24. The data dividingunit 23 also sends the divided data formed of data portions, to the dataassembling unit 25.

The data CRC judging unit 24 checks the data CRC based on the codelength and the divided data received from the data dividing unit 23, byusing a generator polynomial corresponding to the code length byreferring to the code correspondence table 31, and notifies the dataassembling unit 25 of the judgment result. The judgment result is eitherNG (the check result is wrong) or OK (the check result is correct).

The data assembling unit 25 receives the judgment result sent from thedata CRC judging unit 24, and only if all the judgment results of thedivided data segments are OK (the check result is correct), assemblesthe divided data, and sends the data to the data output unit 26. Thedata output unit 26 receives the data sent from the data assembling unit25, and outputs the data to the application and the like running in theequipment B.

A reception process performed by the receiving apparatus R2 will bedescribed with reference to FIG. 2-6. FIG. 2-6 is a flowchart forexplaining a process performed by the receiving apparatus R2 accordingto the second embodiment. The receiving unit 21 of the receivingapparatus R2 receives reception data (message) from the communicationline (Step S31), and sends the reception data (message) to the codelength judging unit 27. The code length judging unit 27 obtains a headerand a header CRC from the reception data received from the receivingunit 21, and sends the header and the header CRC to the header CRCjudging unit 29.

The header CRC judging unit 29 checks the header CRC based on the headerreceived from the code length judging unit 27, by using a predeterminedgenerator polynomial stored therein, (Step S32), and notifies the codelength judging unit 27 of the judgment result. The judgment result iseither NG (the check result is wrong) or OK (the check result iscorrect).

Upon receiving the judgment result from the header CRC judging unit 29,and if the judgment result is NG (the check result is wrong) (NO at StepS32), the code length judging unit 27 determines that an error isdetected in the reception data (Step S33), and finishes the series ofprocesses. Upon receiving the judgment result from the header CRCjudging unit 29, and if the judgment result is OK (the check result iscorrect) (YES at Step S32), the code length judging unit 27 obtains thecode length from the header (Step S39), and sends the reception data andthe code length to the data dividing unit 23.

The data dividing unit 23 divides the reception data into segments whoselength is obtained by adding a predetermined division length storedtherein and the code length received from the code length judging unit27, and reads the divided data (Step S35). The data dividing unit 23then sends the divided data, the data CRC, and the code length to thedata CRC judging unit 24. The data dividing unit 23 also sends thedivided data formed of data portions, to the data assembling unit 25.

The data CRC judging unit 24 checks the CRC of the divided data based onthe code length and the divided data received from the data dividingunit 23, by using a generator polynomial corresponding to the codelength obtained from the header by referring to the code correspondencetable 31 (Step S36), and notifies the data assembling unit 25 of thejudgment result. The judgment result is either NG (the check result iswrong) or OK (the check result is correct).

Upon receiving the judgment result from the data CRC judging unit 24,and if the judgment result is NG (the check result is wrong) (NO at StepS36), the data assembling unit 25 determines that an error is detectedin the reception data (Step S33), and finishes the series of processes.Upon receiving the judgment result from the data CRC judging unit 24,and if the judgment result is OK (the check result is correct) (YES atStep S36), the data assembling unit 25 determines whether the data CRCof all the divided data segments has been checked (Step S37).

If the data assembling unit 25 determines that the data CRC of all thedivided data segments has not been checked (NO at Step S37), the dataassembling unit 25 sends information with which the check result iscorrect to the data CRC judging unit 24, and the process returns to StepS35. The data CRC judging unit 24 receives the information, and checksthe CRC of the next divided data segment (Step S35). The processes fromStep S35 to Step S37 are repeated until the data CRC of all the divideddata segments has been checked

If the data assembling unit 25 determines that the CRC calculationsperformed on all the divided data segments are correct, and that thedata CRC of all the divided data segments has been checked (YES at StepS37), the data assembling unit 25 determines that the data is receivedproperly (Step S38), assembles the divided data, and sends the data tothe data output unit 26. The data output unit 26 receives the data sentfrom the data assembling unit 25, and outputs the data to theapplication and the like running in the equipment B, and finishes theseries of processes.

As described above, the transmitting apparatus T2 (communication systemS2) according to the second embodiment can transmit messages whileadding the data CRC to the message, so as to ensure the upper limit ofthe non-detection probability of message transmission errors per time.Accordingly, it is possible to perform communication while ensuring thedesired reliability of correct communication, by restraining thetransmission error non-detection probability of the message to equal toor less than a desired target value. Because unnecessary coding is notperformed, it is possible to perform efficient communication.

In the aforementioned process, the transmission error non-detectionprobability judging unit 2 repeats calculation while changing the codelength, until the calculated transmission error non-detectionprobability Λ satisfies the reference value of the transmission errornon-detection probability of the parameter. However, a code length thatsatisfies the reference value of the transmission error non-detectionprobability of the parameter (d: a characteristic value of an errordetection code) may be directly calculated by modifying theabove-described evaluation function (1).

The code length that satisfies the reference value of the transmissionerror non-detection probability of the parameter may be calculated by anevaluation function h (m, p, v, n, Λ). The evaluation function h (m, p,v, n, Λ) can be derived by modifying the above-described evaluationfunction f (m, p, v, d, n). In such an event, because a code lengthcorresponding to the reference value of the transmission errornon-detection probability of the parameter is calculated, the codelength equal to or more than the calculated code length may be adopted.

Third Embodiment

FIG. 3-1 is a diagram for explaining a configuration of a communicationsystem according to a third embodiment of the present invention. Acommunication system S3 according to the third embodiment includes atransmitting apparatus T3 and a receiving apparatus R3 connected withthe communication line C. In FIG. 3-1, one communication system S3includes the transmitting apparatus T3 mounted on the equipment A forFA, and the receiving apparatus R3 mounted on the equipment B for FA.Another communication system S3 includes the transmitting apparatus T3mounted on the equipment B and the receiving apparatus R3 mounted on theequipment A. Because the equipment A, the equipment B, and the like arethe same as those in the first embodiment, the description in the firstembodiment is applicable, and detailed description thereof is omittedhere.

FIG. 3-2 is a block diagram for explaining a configuration of thetransmitting apparatus T3 of the communication system S3 according tothe third embodiment. The transmitting apparatus T3 includes theparameter input unit 1, the transmission error non-detection probabilityjudging unit 2, the header and data input unit 3, a division length andcode length determining unit 10, the data dividing unit 5, the data CRCgenerating unit 6, the header CRC generating unit 11, the transmissiondata assembling unit 7, and the transmitting unit 8. The same componentsas those in the first embodiment are denoted by the same referencenumerals as in the first embodiment.

The functions of the units will now be described. The parameter inputunit 1 receives a parameter related to a transmission errornon-detection probability of the message per time, before thetransmitting apparatus T3 receives data to be transmitted. The parameterincludes a reference value of the transmission error non-detectionprobability of the message per time, a probability of generating biterrors in a communication channel, a transmission rate of thecommunication channel, the number of messages (transmission data) perunit time, and the number of pieces of communication equipment beingconnected. The parameter input unit 1 sends the received parameter tothe transmission error non-detection probability judging unit 2.

The transmitting apparatus T3 stores therein the code correspondencetable 31 used in common with the receiving apparatus R3 in advance (seeFIG. 2-3). The code correspondence table 31 stores therein a list ofcode identification numbers, the code lengths, and CRC generatorpolynomials. Here, the code length is used as an identifier for a code.

The header and data input unit 3 receives data to be transmitted, forexample, from an application running in the equipment A, after theparameter input unit 1 receives the parameter. The header and data inputunit 3 then sends the data length of the data to the division length andcode length determining unit 10, and sends a header and data to the datadividing unit 5. The division length and code length determining unit 10sets the data length received from the header and data input unit 3 asan initial value of the division length (initialization of divisionlength), and sets the code length of a standard generator polynomial(such as 16 bits) in the code correspondence table 31 as an initialvalue of the code length (initialization of code length). The divisionlength and code length determining unit 10 then sends the divisionlength, the code length, and the data length to the transmission errornon-detection probability judging unit 2.

The transmission error non-detection probability judging unit 2 storestherein a predetermined evaluation function related to a transmissionerror non-detection probability, and calculates a transmission errornon-detection probability Λ by using the evaluation function. Thetransmission error non-detection probability judging unit 2 alsocalculates other condition values required for communication. In thethird embodiment, the transmission error non-detection probabilityjudging unit 2 calculates a transmission error non-detection probability(probability that cannot detect transmission errors=error rate) Λ, basedon the data length and the code length received from the division lengthand code length determining unit 10, the parameter received from theparameter input unit 1, and the division length received from thedivision length and code length determining unit 10.

The transmission error non-detection probability judging unit 2determines whether the calculated transmission error non-detectionprobability Λ satisfies the reference value of the transmission errornon-detection probability of the parameter (whether equal or less thanthe reference value of the transmission error non-detectionprobability), and notifies the division length and code lengthdetermining unit 10 of the judgment result. The judgment result iseither NG (the calculated transmission error non-detection probability Λis higher than the reference value of the transmission errornon-detection probability) or OK (the calculated transmission errornon-detection probability Λ is equal to or less than the reference valueof the transmission error non-detection probability).

Upon receiving the judgment result from the transmission errornon-detection probability judging unit 2, and if the judgment result isNG (the calculated transmission error non-detection probability Λ doesnot satisfy the reference value of the transmission error non-detectionprobability (higher than the reference value of the transmission errornon-detection probability)), the division length and code lengthdetermining unit 10 reduces the division length or increases the codelength by selecting a longer generator polynomial from the codecorrespondence table 31, and notifies the transmission errornon-detection probability judging unit 2 of the data length, thedivision length, and the code length again. Upon receiving the judgmentresult from the transmission error non-detection probability judgingunit 2, and if the judgment result is OK (the calculated transmissionerror non-detection probability Λ satisfies the reference value of thetransmission error non-detection probability (the calculatedtransmission error non-detection probability Λ is equal to or less thanthe reference value of the transmission error non-detectionprobability)), the division length and code length determining unit 10sends the division length and the code length to the data dividing unit5.

The data dividing unit 5 stores the division length and the code lengthreceived from the division length and code length determining unit 10 inthe header received from the header and data input unit 3, and sends theheader to the header CRC generating unit 11 and the transmission dataassembling unit 7. Based on the division length received from thedivision length and code length determining unit 10, the data dividingunit 5 divides the data received from the header and data input unit 3,and sends the code length and the divided data to the data CRCgenerating unit 6, and the divided data to the transmission dataassembling unit 7.

The data CRC generating unit 6 generates a data CRC based on the codelength and the divided data received from the data dividing unit 5, byusing a generator polynomial corresponding to the code length byreferring to the code correspondence table 31, and sends the data CRC tothe transmission data assembling unit 7. The header CRC generating unit11 generates a header CRC based on the header received from the datadividing unit 5, by calculating the header CRC using a predetermined CRCgenerator polynomial stored therein, and sends the header CRC to thetransmission data assembling unit 7.

The transmission data assembling unit 7 assembles transmission data(message) with the header and the divided data received from the datadividing unit 5, the header CRC received from the header CRC generatingunit 11, and the data CRC received from the data CRC generating unit 6,and sends the transmission data (message) to the transmitting unit 8.

The transmitting unit 8 transmits the transmission data (message)received from the transmission data assembling unit 7 to thecommunication line C. FIG. 1-3 is the schematic of an image of thetransmission data (message) being assembled.

A transmission process performed by the transmitting apparatus T3 willnow be described with reference to FIG. 3-3. FIG. 3-3 is a flowchart forexplaining a process performed by the transmitting apparatus T3according to the third embodiment. The parameter input unit 1 receives aparameter (Step S1). For example, a calculator such as a personalcomputer is connected to the transmitting apparatus T3, and theparameter input unit 1 receives the parameter from the personal computerand the like. The parameter input unit 1 sends the received parameter tothe transmission error non-detection probability judging unit 2.

The header and data input unit 3 receives data to be transmitted to thereceiving apparatus R3, for example, from an application running in theequipment A, after the parameter input unit 1 receives the parameter.The header and data input unit 3 then sends the data length of the datato the division length and code length determining unit 10, and sends aheader and data to the data dividing unit 5.

Upon receiving the data length from the header and data input unit 3,the division length and code length determining unit 10 sets(initializes) the received data length as an initial value of thedivision length, and sets the code length of a standard generatorpolynomial (such as 16 bits) in the code correspondence table 31 as aninitial value of the code length (initialization of code length) (StepS17). The division length and code length determining unit 10 then sendsthe division length, the code length, and the data length to thetransmission error non-detection probability judging unit 2.

The transmission error non-detection probability judging unit 2calculates a transmission error non-detection probability (error rate)Λ, based on the data length and the code length received from thedivision length and code length determining unit 10, the parameterreceived from the parameter input unit 1, and the division length (StepS18).

The transmission error non-detection probability judging unit 2determines whether the calculated transmission error non-detectionprobability Λ satisfies the reference value of the transmission errornon-detection probability of the parameter (Step S4), and notifies thedivision length and code length determining unit 10 of the judgmentresult. The judgment result of either NG (the calculated transmissionerror non-detection probability Λ is higher than the reference value ofthe transmission error non-detection probability) or OK (the calculatedtransmission error non-detection probability Λ is equal to or less thanthe reference value of the transmission error non-detection probability)is notified.

If the received judgment result is NG (NO at Step S4), the divisionlength and code length determining unit 10 either reduces the divisionlength, or increases the code length by selecting a longer generatorpolynomial from the code correspondence table 31, notifies thetransmission error non-detection probability judging unit 2 of the datalength, the division length, and the code length again (Step S19), andstarts again from Step S18. If the received judgment result is OK (YESat Step S4), the division length and code length determining unit 10adopts the division length and the code length at this time, and sendsthe division length and the code length to the data dividing unit 5.

The data dividing unit 5 stores the division length and the code lengthreceived from the division length and code length determining unit 10 inthe header received from the header and data input unit 3 and in whichinformation such as an address of a message is included (Step S20). Thedata dividing unit 5 then sends the header to the header CRC generatingunit 11 and the transmission data assembling unit 7. The header CRCgenerating unit 11 generates a header CRC based on the header receivedfrom the data dividing unit 5, by using a predetermined CRC generatorpolynomial stored therein (Step S7), and sends the header CRC to thetransmission data assembling unit 7.

The data dividing unit 5, based on the division length received from thedivision length and code length determining unit 10, divides the datareceived from the header and data input unit 3 into segments andextracts the divided data segments (Step S8). The data dividing unit 5then sends the code length and the divided data to the data CRCgenerating unit 6, and sends the divided data to the transmission dataassembling unit 7. The data CRC generating unit 6 generates a data CRCbased on the code length and the divided data received from the datadividing unit 5, by calculating the data CRC using a generatorpolynomial corresponding to the code length by referring to the codecorrespondence table 31 (Step S9), and sends the data CRC to thetransmission data assembling unit 7.

The transmission data assembling unit 7 assembles transmission data(message) with the header and the divided data received from the datadividing unit 5, the header CRC received from the header CRC generatingunit 11, and the data CRC received from the data CRC generating unit 6(Step S10). The transmission data assembling unit 7 then determineswhether the extraction (assembly) of the divided data received from thedata dividing unit 5 is completed (Step S11).

If the transmission data assembling unit 7 determines that theextraction is not yet completed (NO at Step S11), the process returns toStep S8 and the process is repeated until the extraction is completed.If the transmission data assembling unit 7 determines that theextraction is completed (YES at Step S11), the transmission dataassembling unit 7 sends the transmission data (message) to thetransmitting unit 8. The transmitting unit 8 transmits the transmissiondata (message) received from the transmission data assembling unit 7 tothe communication line C, and finishes the series of processes (StepS12). The transmission data (message) transmitted from the transmittingapparatus T3 is sent to the receiving apparatus R3 through thecommunication line C.

Every time the transmitting apparatus T3 receives data from theapplication running in the equipment A, the process is repeated fromStep S1 to Step S12. However, when the same parameters are used, theprocess at Step S1 may be omitted in the second and subsequentprocesses.

FIG. 3-4 is a block diagram for explaining a configuration of thereceiving apparatus R3 of the communication system S3 according to thethird embodiment. The receiving apparatus R3 includes the receiving unit21, a division length and code length judging unit 28, the data dividingunit 23, the data CRC judging unit 24, the data assembling unit 25, thedata output unit 26, and the header CRC judging unit 29.

The receiving apparatus R3 stores therein the code correspondence table31 used in common with the transmitting apparatus T3 in advance. Thecode correspondence table 31 stores therein a list of codeidentification numbers, the code lengths, and CRC generator polynomials.Here, the code length is used as an identifier for a code.

The receiving unit 21 receives reception data (message) as shown in FIG.1-3 from the communication line, and sends the reception data (message)to the division length and code length judging unit 28. The divisionlength and code length judging unit 28 obtains a header and a header CRCfrom the reception data received from the receiving unit 21, and sendsthe header and the header CRC to the header CRC judging unit 29. Thedivision length and code length judging unit 28 receives the judgmentresult from the header CRC judging unit 29, and only if the judgmentresult is OK (the check result is correct), obtains the division lengthand the code length from the header, and sends the division length, thecode length, and the reception data to the data dividing unit 23.

The header CRC judging unit 29 checks the header CRC based on the headerreceived from the division length and code length judging unit 28, byusing a predetermined generator polynomial stored therein, and notifiesthe division length and code length judging unit 28 of the judgmentresult. The judgment result is either NG (the check result is wrong) orOK (the check result is correct).

The data dividing unit 23 divides the reception data into segments whoselength is obtained by adding the division length and the code lengthreceived from the division length and code length judging unit 28, andsends the whole, in other words, the divided data, the data CRC, and thecode length to the data CRC judging unit 24. The data dividing unit 23also sends the divided data formed of data portions, to the dataassembling unit 25.

The data CRC judging unit 24 checks the data CRC based on the codelength and the divided data received from the data dividing unit 23, byusing a generator polynomial corresponding to the code length byreferring to the code correspondence table 31, and notifies the dataassembling unit 25 of the judgment result. The judgment result is eitherNG (the check result is wrong) or OK (the check result is correct).

The data assembling unit 25 receives the judgment result sent from thedata CRC judging unit 24, and only if all the judgment results of thedivided data segments are OK (the check result is correct), assemblesthe divided data, and sends the data to the data output unit 26. Thedata output unit 26 receives the data sent from the data assembling unit25, and outputs the data to the application and the like running in theequipment B.

A reception process performed by the receiving apparatus R3 will bedescribed with reference to FIG. 3-5. FIG. 3-5 is a flowchart forexplaining a process performed by the receiving apparatus R3 accordingto the third embodiment. The receiving unit 21 of the receivingapparatus R3 receives reception data (message) from the communicationline (Step S31), and sends the reception data (message) to the divisionlength and code length judging unit 28. The division length and codelength judging unit 28 obtains a header and a header CRC from thereception data received from the receiving unit 21, and sends the headerand the header CRC to the header CRC judging unit 29.

The header CRC judging unit 29 checks the header CRC based on the headerreceived from the division length and code length judging unit 28, byusing a predetermined generator polynomial stored therein, (Step S32),and notifies the division length and code length judging unit 28 of thejudgment result. The judgment result is either NG (the check result iswrong) or OK (the check result is correct).

Upon receiving the judgment result from the header CRC judging unit 29,and if the judgment result is NG (the check result is wrong) (NO at StepS32), the division length and code length judging unit 28 determinesthat an error is detected in the reception data (Step S33), and finishesthe series of processes. Upon receiving the judgment result from theheader CRC judging unit 29, and if the judgment result is OK (the checkresult is correct) (YES at Step S32), the division length and codelength judging unit 28 obtains the division length and the code lengthfrom the header (Step S40), and sends the reception data, the divisionlength, and the code length to the data dividing unit 23.

The data dividing unit 23 divides the reception data into segments whoselength is obtained by adding the division length and the code lengthreceived from the division length and code length judging unit 28, andreads the divided data (Step S35). The data dividing unit 23 then sendsthe divided data, the data CRC, and the code length to the data CRCjudging unit 24. The data dividing unit 23 also sends the divided dataformed of data portions, to the data assembling unit 25.

The data CRC judging unit 24 checks the CRC of the divided data based onthe code length and the divided data received from the data dividingunit 23, by using a generator polynomial corresponding to the codelength obtained from the header by referring to the code correspondencetable 31 (Step S36), and notifies the data assembling unit 25 of thejudgment result. The judgment result is either NG (the check result iswrong) or OK (the check result is correct).

Upon receiving the judgment result from the data CRC judging unit 24,and if the judgment result is NG (the check result is wrong) (NO at StepS36), the data assembling unit 25 determines that an error is detectedin the reception data (Step S33), and finishes the series of processes.Upon receiving the judgment result from the data CRC judging unit 24,and if the judgment result is OK (the check result is correct) (YES atStep S36), the data assembling unit 25 determines whether the data CRCof all the divided data segments has been checked (Step S37).

If the data assembling unit 25 determines that the data CRC of all thedivided data segments has not been checked (NO at Step S37), the dataassembling unit 25 sends information with which the check result iscorrect to the data CRC judging unit 24, and the process returns to StepS35. The data CRC judging unit 24 receives the information, and checksthe CRC of the next divided data segment (Step S35). The processes fromStep S35 to Step S37 are repeated until the data CRC of all the divideddata segments has been checked.

If the data assembling unit 25 determines that the CRC calculationsperformed on all the divided data segments are correct, and that thedata CRC of all the divided data segments has been checked (YES at StepS37), the data assembling unit 25 determines that the data is receivedproperly (Step S38), assembles the divided data, and sends the data tothe data output unit 26. The data output unit 26 receives the data sentfrom the data assembling unit 25, outputs the data to the applicationand the like running in the equipment B, and finishes the series ofprocesses.

As described above, the transmitting apparatus T3 (communication systemS3) according to the third embodiment can transmit messages by dividingdata so as to ensure the upper limit of the non-detection probability ofmessage transmission errors per time, while adding the data CRC to themessage. Accordingly, it is possible to perform communication whileensuring the desired reliability of correct communication, byrestraining the transmission error non-detection probability of themessage to equal to or less than a desired target value. Becauseunnecessary data division and coding are not performed, it is possibleto perform efficient communication.

In the aforementioned process, the transmission error non-detectionprobability judging unit 2 repeats calculation while changing thedivision length or the code length, until the calculated transmissionerror non-detection probability Λ satisfies the reference value of thetransmission error non-detection probability of the parameter. However,a division length that satisfies the reference value of the transmissionerror non-detection probability may be directly calculated, by using theabove-described evaluation function g (m, p, v, d, Λ) and the evaluationfunction h (m, p, v, n, Λ).

Fourth Embodiment

FIG. 4-1 is a diagram for explaining a configuration of a communicationsystem according to a fourth embodiment of the present invention. Acommunication system S4 according to the fourth embodiment includes atransmitting apparatus T4 and a receiving apparatus R4 connected withthe communication line C. In FIG. 4-1, one communication system S4includes the transmitting apparatus T4 mounted on the equipment A forFA, and the receiving apparatus R4 mounted on the equipment B for FA.Another communication system S4 includes the transmitting apparatus T4mounted on the equipment B and the receiving apparatus R4 mounted on theequipment A. Because the equipment A, the equipment B, and the like arethe same as those in the first embodiment, the description in the firstembodiment is applicable, and detailed description thereof is omittedhere.

FIG. 4-2 is a block diagram for explaining a configuration of thetransmitting apparatus T4 of the communication system S4 according tothe fourth embodiment. The transmitting apparatus T4 includes theparameter input unit 1, the transmission error non-detection probabilityjudging unit 2, the header and data input unit 3, the data dividing unit5, the data CRC generating unit 6, the header CRC generating unit 11,the transmission data assembling unit 7, and the transmitting unit 8.The same components as those in the first embodiment are denoted by thesame reference numerals as in the first embodiment.

The functions of the units will now be described. The parameter inputunit 1 receives a parameter related to a transmission errornon-detection probability of the message per time, before thetransmitting apparatus T4 receives data to be transmitted. The parameterincludes a reference value of the transmission error non-detectionprobability of the message per time, a probability of generating biterrors in a communication channel, a transmission rate of thecommunication channel, and the number of pieces of communicationequipment being connected. The parameter input unit 1 sends the receivedparameter to the transmission error non-detection probability judgingunit 2.

The header and data input unit 3 receives data to be transmitted, forexample, from an application running in the equipment A, after theparameter input unit 1 receives the parameter. The header and data inputunit 3 then sends the data length of the data to the transmission errornon-detection probability judging unit 2, and sends a header and data tothe data dividing unit 5.

The transmission error non-detection probability judging unit 2 storestherein a predetermined evaluation function related to a transmissionerror non-detection probability, and calculates a transmission errornon-detection probability Λ by using the evaluation function. Thetransmission error non-detection probability judging unit 2 alsocalculates other condition values required for communication. In thefourth embodiment, the transmission error non-detection probabilityjudging unit 2 calculates the time interval (transmission interval) soas to achieve the reference value of the transmission errornon-detection probability, in other words, the reciprocal of the numberof messages per time, by using an evaluation function obtained bymodifying the evaluation function (1), based on the parameter receivedfrom the parameter input unit 1, a predetermined CRC code length(generator polynomial), and a predetermined division length. Thetransmission error non-detection probability judging unit 2 notifies thetransmitting unit 8 of the calculated transmission interval.

The data dividing unit 5 sends the header received from the header anddata input unit 3 to the header CRC generating unit 11 and thetransmission data assembling unit 7. The data dividing unit 5 alsodivides the data received from the header and data input unit 3 based ona predetermined division length, and sends the divided data to the dataCRC generating unit 6 and the transmission data assembling unit 7.

The data CRC generating unit 6 generates a data CRC from the divideddata received from the data dividing unit 5, by calculating the data CRCusing a predetermined CRC generator polynomial stored therein, and sendsthe data CRC to the transmission data assembling unit 7. The header CRCgenerating unit 11 generates a header CRC based on the header receivedfrom the data dividing unit 5, by calculating the header CRC using apredetermined CRC generator polynomial stored therein, and sends theheader CRC to the transmission data assembling unit 7.

The transmission data assembling unit 7 assembles transmission data(message) with the header and the divided data received from the datadividing unit 5, the header CRC received from the header CRC generatingunit 11, and the data CRC received from the data CRC generating unit 6,and sends the transmission data (message) to the transmitting unit 8.

The transmitting unit 8 transmits the transmission data (message)received from the transmission data assembling unit 7 to thecommunication line C. An example of an image of the transmission data(message) being assembled is illustrated in FIG. 1-3.

A transmission process performed by the transmitting apparatus T4 willbe described with reference to FIG. 4-3. FIG. 4-3 is a flowchart forexplaining a process performed by the transmitting apparatus T4according to the fourth embodiment. The parameter input unit 1 receivesa parameter (Step S1). For example, a calculator such as a personalcomputer is connected to the transmitting apparatus T4, and theparameter input unit 1 receives the parameter from the personal computerand the like. The parameter input unit 1 sends the received parameter tothe transmission error non-detection probability judging unit 2.

The header and data input unit 3 receives data to be transmitted to thereceiving apparatus R4, for example, from an application running in theequipment A, after the parameter input unit 1 receives the parameter.The header and data input unit 3 then sends the data length of the datato the transmission error non-detection probability judging unit 2, andsends a header and data to the data dividing unit 5.

The transmission error non-detection probability judging unit 2calculates the transmission interval so as to achieve the referencevalue of the transmission error non-detection probability, in otherwords, the reciprocal of the number of messages per time, based on thedata length received from the header and data input unit 3, theparameter received from the parameter input unit 1, and predetermineddivision length and CRC code length (generator polynomial) stored in thetransmission error non-detection probability judging unit 2 (Step S21).

The data dividing unit 5 sends the header received from the header anddata input unit 3 to the header CRC generating unit 11 and thetransmission data assembling unit 7. The header CRC generating unit 11generates a header CRC based on the header received from the datadividing unit 5, by using a predetermined CRC generator polynomialstored therein (Step S7), and sends the header CRC to the transmissiondata assembling unit 7.

The data dividing unit 5, based on a predetermined division lengthstored therein, divides the data received from the header and data inputunit 3 into segments, and extracts the divided data segments (Step S8).The data dividing unit 5 then sends the divided data to the data CRCgenerating unit 6 and the transmission data assembling unit 7. The dataCRC generating unit 6 generates a data CRC from the divided datareceived from the data dividing unit 5, by calculating the data CRCusing a predetermined CRC generator polynomial stored therein (Step S9),and sends the data CRC to the transmission data assembling unit 7.

The transmission data assembling unit 7 assembles transmission data(message) with the header and the divided data received from the datadividing unit 5, the header CRC received from the header CRC generatingunit 11, and the data CRC received from the data CRC generating unit 6(Step S10). The transmission data assembling unit 7 then determineswhether the extraction (assembly) of the divided data received from thedata dividing unit 5 is completed (Step S11).

If the transmission data assembling unit 7 determines that theextraction is not yet competed (NO at Step S11), the process returns toStep S8 and the process is repeated until the extraction is completed.If the transmission data assembling unit 7 determines that theextraction is completed (YES at Step S11), the transmission dataassembling unit 7 sends the transmission data (message) to thetransmitting unit 8. Upon receiving the transmission data (message) fromthe transmission data assembling unit 7, the transmitting unit 8 waitsas much as the transmission interval received from the transmissionerror non-detection probability judging unit 2 from the previoustransmission (Step S22), transmits the transmission data (message) tothe communication line C, and finishes the series of processes (StepS12). The transmission data (message) transmitted from the transmittingapparatus T4 is sent to the receiving apparatus R4 through thecommunication line C. The transmitting unit 8 does not need to wait asmuch as the transmission interval in the first data transmission.

Every time the transmitting apparatus T4 receives data from theapplication running in the equipment A, the process is repeated fromStep S1 to Step S22. However, when the same parameters are used, theprocess at Step S1 may be omitted in the second and subsequentprocesses.

FIG. 4-4 is a block diagram for explaining a configuration of thereceiving apparatus R4 of the communication system S4 according to thefourth embodiment. The receiving apparatus R4 includes the receivingunit 21, a header judging unit 30, the data dividing unit 23, the dataCRC judging unit 24, the data assembling unit 25, the data output unit26, and the header CRC judging unit 29.

The receiving unit 21 receives reception data (message) as shown in FIG.1-3 from the communication line, and sends the reception data (message)to the header judging unit 30. The header judging unit 30 obtains aheader and a header CRC from the reception data received from thereceiving unit 21, and sends the header and the header CRC to the headerCRC judging unit 29. The header judging unit 30 receives the judgmentresult from the header CRC judging unit 29, and only if the judgmentresult is OK (the check result is correct), sends the reception data tothe data dividing unit 23.

The header CRC judging unit 29 checks the header CRC based on the headerand the header CRC received from the header judging unit 30, by using apredetermined generator polynomial stored therein, and notifies theheader judging unit 30 of the judgment result. The judgment result iseither NG (the check result is wrong) or OK (the check result iscorrect).

The data dividing unit 23 divides the reception data into segments whoselength is obtained by adding a predetermined division length storedtherein and a predetermined CRC code length stored therein, and sendsthe whole, in other words, the divided data and the data CRC to the dataCRC judging unit 24. The data dividing unit 23 also sends the divideddata formed of data portions, to the data assembling unit 25.

The data CRC judging unit 24 checks the data CRC based on the divideddata and the data CRC received from the data dividing unit 23, by usinga predetermined generator polynomial stored therein, and notifies thedata assembling unit 25 of the judgment result. The judgment result iseither NG (the check result is wrong) or OK (the check result iscorrect).

The data assembling unit 25 receives the judgment result sent from thedata CRC judging unit 24, and only if all the judgment results of thedivided data segments are OK (the check result is correct), assemblesthe divided data, and sends the data to the data output unit 26. Thedata output unit 26 receives the data sent from the data assembling unit25, and outputs the data to the application and the like running in theequipment B.

A reception process performed by the receiving apparatus R4 will bedescribed with reference to FIG. 4-5. FIG. 4-5 is a flowchart forexplaining a process performed by the receiving apparatus R4 accordingto the fourth embodiment. The receiving unit 21 of the receivingapparatus R4 receives reception data (message) from the communicationline (Step S31), and sends the reception data (message) to the headerjudging unit 30. The header judging unit 30 obtains a header and aheader CRC from the reception data received from the receiving unit 21,and sends the header and the header CRC to the header CRC judging unit29.

The header CRC judging unit 29 checks the header CRC based on theheader, by using a predetermined generator polynomial stored therein(Step S32), and notifies the header judging unit 30 of the judgmentresult. The judgment result is either NG (the check result is wrong) orOK (the check result is correct).

Upon receiving the judgment result from the header CRC judging unit 29,and if the judgment result is NG (the check result is wrong) (NO at StepS32), the header judging unit 30 determines that an error is detected inthe reception data (Step S33), and finishes the series of processes.Upon receiving the judgment result from the header CRC judging unit 29,and if the judgment result is OK (the check result is correct) (YES atStep S32), the header judging unit 30 sends the reception data to thedata dividing unit 23.

The data dividing unit 23 divides the reception data into segments whoselength is obtained by adding a predetermined division length storedtherein and a predetermined CRC code length stored therein, and readsthe divided data (Step S35). The data dividing unit 23 then sends thedivided data and the data CRC to the data CRC judging unit 24. The datadividing unit 23 also sends the divided data formed of data portions, tothe data assembling unit 25.

The data CRC judging unit 24 checks the data CRC by using apredetermined generator polynomial (Step S36), and notifies the dataassembling unit 25 of the judgment result. The judgment result is eitherNG (the check result is wrong) or OK (the check result is correct).

Upon receiving the judgment result from the data CRC judging unit 24,and if the judgment result is NG (the check result is wrong) (NO at StepS36), the data assembling unit 25 determines that an error is detectedin the reception data (Step S33), and finishes the series of processes.Upon receiving the judgment result from the data CRC judging unit 24,and if the judgment result is OK (the check result is correct) (YES atStep S36), the data assembling unit 25 determines whether the data CRCof all the divided data segments has been checked (Step S37).

If the data assembling unit 25 determines that the data CRC of all thedivided data segments has not been checked (NO at Step S37), the dataassembling unit 25 sends information with which the check result iscorrect to the data CRC judging unit 24, and the process returns to StepS35. The data CRC judging unit 24 receives the information, and checksthe CRC of the next divided data segment (Step S35). The processes fromStep S35 to Step S37 are repeated until the data CRC of all the divideddata segments has been checked.

If the data assembling unit 25 determines that the CRC calculationsperformed on all the divided data segments are correct, and that thedata CRC of all the divided data segments has been checked (YES at StepS37), the data assembling unit 25 determines that the data is receivedproperly (Step S38), assembles the divided data, and sends the data tothe data output unit 26. The data output unit 26 receives the data sentfrom the data assembling unit 25, outputs the data to the applicationand the like running in the equipment B, and finishes the series ofprocesses.

As described above, the transmitting apparatus T4 (communication systemS4) according to the fourth embodiment can transmit messages, bycontrolling the transmission interval so as to ensure the upper limit ofthe non-detection probability of message transmission errors per time.Accordingly, it is possible to perform communication while ensuring thedesired reliability of correct communication, by restraining thetransmission error non-detection probability of the message to equal toor less than a desired target value.

Fifth Embodiment

In a fifth embodiment, a modification of the first embodiment will bedescribed. A communication system S5 according to the fifth embodimentincludes a transmitting apparatus T5 and the receiving apparatus R1connected with the communication line C (see FIG. 1-1). FIG. 5-1 is ablock diagram for explaining a configuration of the transmittingapparatus T5 of the communication system S5 according to the fifthembodiment. The transmitting apparatus T5 includes the parameter inputunit 1, the transmission error non-detection probability judging unit 2,the header and data input unit 3, the division length determining unit4, the data dividing unit 5, the data CRC generating unit 6, the headerCRC generating unit 11, the transmission data assembling unit 7, and thetransmitting unit 8.

Because the basic configuration of the transmitting apparatus T5 is thesame as that of the transmitting apparatus T1 according to the firstembodiment, the different points from the transmitting apparatus T1 willbe described below. In the communication system S5 according to thefifth embodiment, the parameter input unit 1 in the transmittingapparatus T1 of the first embodiment receives a parameter from which thenumber of messages per time is removed. In other words, the transmittingapparatus T5 of the communication system S5 receives a parameterincluding a reference value of the transmission error non-detectionprobability of the message per time, a probability of generating biterrors in a communication channel, a transmission rate of thecommunication channel, and the number of pieces of communicationequipment being connected.

The division length determining unit 4 initializes the division lengthwith the data length, and sends the data length and the division lengthto the transmission error non-detection probability judging unit 2. Atthis time, the transmission error non-detection probability judging unit2 calculates a transmission interval that can achieve a desiredtransmission error non-detection probability (reference value), by usingan evaluation function obtained by modifying the above-describedevaluation function (1), using the delivered division length, thereceived parameter, and a predetermined code length, and notifies thedivision length determining unit 4 of the transmission interval as ajudgment result.

If the transmission interval is feasible, the division lengthdetermining unit 4 adopts the division length and the transmissioninterval at this time, and sends the transmission interval to thetransmitting unit 8. If the transmission interval is not feasible, thedivision length determining unit 4 reduces the division length, anddelivers the increased division length to the transmission errornon-detection probability judging unit 2 again. The process is repeateduntil the feasible transmission interval is obtained. Upon receiving thetransmission data (message) from the transmission data assembling unit7, the transmitting unit 8 waits as much as the transmission intervalreceived from the division length determining unit 4 from the previoustransmission, and transmits the transmission data (message) to thecommunication line C.

A transmission process performed by the transmitting apparatus T5 willbe described with reference to FIG. 5-2. FIG. 5-2 is a flowchart forexplaining a process performed by the transmitting apparatus T5according to the fifth embodiment. The parameter input unit 1 receives aparameter (Step S1). As described above, the parameter does not includethe number of messages per time. The parameter input unit 1 sends thereceived parameter to the transmission error non-detection probabilityjudging unit 2.

The header and data input unit 3 receives data to be transmitted to thereceiving apparatus R1, for example, from an application running in theequipment A, after the parameter input unit 1 receives the parameter.The header and data input unit 3 then sends the data length of the datato the division length determining unit 4, and sends a header and datato the data dividing unit 5.

Upon receiving the data length from the header and data input unit 3,the division length determining unit 4 sets (initializes) the receiveddata length as an initial value of the division length (Step S2). Thedivision length determining unit 4 then sends the division length andthe data length to the transmission error non-detection probabilityjudging unit 2. The transmission error non-detection probability judgingunit 2 calculates a transmission interval that can achieve a desiredtransmission error non-detection probability (reference value), based onthe division length received from the division length determining unit4, the parameter received from the parameter input unit 1, and apredetermined CRC code length (generator polynomial) stored therein(Step S23), and notifies the division length determining unit 4 of thetransmission interval as a judgment result.

The division length determining unit 4 determines whether thetransmission interval received from the transmission error non-detectionprobability judging unit 2 is feasible (Step S24). If the transmissioninterval is not feasible (NO at Step S24), the division lengthdetermining unit 4 reduces the division length, and notifies thetransmission error non-detection probability judging unit 2 of the datalength and the reduced division length again (Step S5). The process isrepeated until the feasible transmission interval is obtained. If thetransmission interval is feasible (YES at Step S24), the division lengthdetermining unit 4 adopts the division length and the transmissioninterval at this time, and sends the transmission interval to thetransmitting unit 8.

Because the subsequent Steps S6 to S11 are the same as those in thefirst embodiment, the description thereof is omitted. After Step S11 isperformed, upon receiving the transmission data (message) from thetransmission data assembling unit 7, the transmitting unit 8 waits asmuch as the transmission interval received from the transmission errornon-detection probability judging unit 2 from the previous transmission(Step S22), transmits the transmission data (message) to thecommunication line C, and finishes the series of processes (Step S12).The transmission data (message) transmitted from the transmittingapparatus T5 is sent to the receiving apparatus R1 through thecommunication line C. The transmitting unit 8 does not need to wait asmuch as the transmission interval in the first data transmission.

As described above, the transmitting apparatus T5 (communication systemS5) according to the fifth embodiment can transmit messages, by dividingthe data and by controlling the transmission interval at the same time,so as to ensure the upper limit of the non-detection probability ofmessage transmission errors per time. Accordingly, it is possible toperform communication while ensuring the desired reliability of correctcommunication, by restraining the transmission error non-detectionprobability of the message to equal to or less than a desired targetvalue. Because unnecessary data division and coding are not performed,it is possible to perform efficient communication.

Sixth Embodiment

In a sixth embodiment, a modification of the second embodiment will bedescribed. A communication system S6 according to the sixth embodimentincludes a transmitting apparatus T6 and the receiving apparatus R2connected with the communication line C (see FIG. 2-1). FIG. 6-1 is ablock diagram for explaining a configuration of the transmittingapparatus T6 of the communication system S6 according to the sixthembodiment. The transmitting apparatus T6 includes the parameter inputunit 1, the transmission error non-detection probability judging unit 2,the header and data input unit 3, the code length determining unit 9,the data dividing unit 5, the data CRC generating unit 6, the header CRCgenerating unit 11, the transmission data assembling unit 7, and thetransmitting unit 8.

Because the basic configuration of the transmitting apparatus T6 is thesame as that of the transmitting apparatus T2 according to the secondembodiment, the different points from the transmitting apparatus T2 willbe described below. In the communication system S6 according to thesixth embodiment, the parameter input unit 1 in the transmittingapparatus T2 of the second embodiment receives a parameter from whichthe number of messages per time is removed. In other words, thetransmitting apparatus T6 of the communication system S6 receives aparameter including a reference value of the transmission errornon-detection probability of the message per time, a probability ofgenerating bit errors in a communication channel, a transmission rate ofthe communication channel, and the number of pieces of communicationequipment being connected.

The code length determining unit 9 initializes the code length with thelength of a standard generator polynomial, and sends the data length andthe code length to the transmission error non-detection probabilityjudging unit 2. At this time, the transmission error non-detectionprobability judging unit 2 calculates a transmission interval that canachieve a desired transmission error non-detection probability(reference value), by using an evaluation function obtained by modifyingthe above-described evaluation function (1), using the delivered codelength, the received parameter, and a predetermined division length, andnotifies the code length determining unit 9 of the transmission intervalas a judgment result.

The code length determining unit 9 adopts the code length and thetransmission interval at this time, and sends the transmission intervalto the transmitting unit 8 if the transmission interval is feasible. Ifthe transmission interval is not feasible, the code length determiningunit 9 increases the code length, and delivers the increased code lengthto the transmission error non-detection probability judging unit 2again. The process is repeated until the feasible transmission intervalis obtained. Upon receiving the transmission data (message) from thetransmission data assembling unit 7, the transmitting unit 8 waits asmuch as the transmission interval received from the code lengthdetermining unit 9, and transmits the transmission data (message) to thecommunication line C.

A transmission process performed by the transmitting apparatus T6 willbe described with reference to FIG. 6-2. FIG. 6-2 is a flowchart forexplaining a process performed by the transmitting apparatus T6according to the sixth embodiment. The parameter input unit 1 receives aparameter (Step S1). As described above, the parameter does not includethe number of messages per time. The parameter input unit 1 sends thereceived parameter to the transmission error non-detection probabilityjudging unit 2.

The header and data input unit 3 receives data to be transmitted to thereceiving apparatus R2, for example, from an application running in theequipment A, after the parameter input unit 1 receives the parameter.The header and data input unit 3 then sends the data length of the datato the code length determining unit 9, and sends a header and data tothe data dividing unit 5.

The code length determining unit 9 sets the code length of a standardgenerator polynomial (such as 16 bits) in the code correspondence table31 (see FIG. 2-3) as an initial value of the code length (initializationof code length), and sends the code length and the data length to thetransmission error non-detection probability judging unit 2 (Step S13).

The transmission error non-detection probability judging unit 2calculates a transmission interval that can achieve a desiredtransmission error non-detection probability (reference value) (StepS25), based on the data length and the code length received from thecode length determining unit 9, the parameter received from theparameter input unit 1, and a predetermined division length stored inthe transmission error non-detection probability judging unit 2, andnotifies the code length determining unit 9 of the transmission intervalas a judgment result.

The code length determining unit 9 determines whether the transmissioninterval received from the transmission error non-detection probabilityjudging unit 2 is feasible (Step S24). If the transmission interval isnot feasible (NO at Step S24), the code length determining unit 9increases the code length, and notifies the transmission errornon-detection probability judging unit 2 of the data length and theincreased code length again (Step S15). The process is repeated untilthe feasible transmission interval is obtained. If the transmissioninterval is feasible (YES at Step S24), the code length determining unit9 adopts the code length and the transmission interval at this time, andsends the transmission interval to the transmitting unit 8.

Because the subsequent Steps S16 to S11 are the same as those in thesecond embodiment, the description thereof is omitted. After Step S11 isperformed, upon receiving the transmission data (message) from thetransmission data assembling unit 7, the transmitting unit 8 waits asmuch as the transmission interval received from the code lengthdetermining unit 9 from the previous transmission (Step S22), transmitsthe transmission data (message) to the communication line C, andfinishes the series of processes (Step S12). The transmission data(message) transmitted from the transmitting apparatus T6 is sent to thereceiving apparatus R2 through the communication line C. Thetransmitting unit 8 does not need to wait as much as the transmissioninterval in the first data transmission.

As described above, the transmitting apparatus T6 (communication systemS6) according to the sixth embodiment can transmit messages, by addingthe CRC and by controlling the transmission interval at the same time,so as to ensure the upper limit of the non-detection probability ofmessage transmission errors per time. Accordingly, it is possible toperform communication while ensuring the desired reliability of correctcommunication, by restraining the transmission error non-detectionprobability of the message to equal to or less than a desired targetvalue. Because unnecessary data division and coding are not performed,it is possible to perform efficient communication.

Seventh Embodiment

In a seventh embodiment, a modification of the third embodiment will bedescribed. A communication system S7 according to the seventh embodimentincludes a transmitting apparatus T7 and the receiving apparatus R3connected with the communication line C (see FIG. 3-1). FIG. 7-1 is ablock diagram for explaining a configuration of the transmittingapparatus T7 of the communication system S7 according to the seventhembodiment. The transmitting apparatus T7 includes the parameter inputunit 1, the transmission error non-detection probability judging unit 2,the header and data input unit 3, the division length and code lengthdetermining unit 10, the data dividing unit 5, the data CRC generatingunit 6, the header CRC generating unit 11, the transmission dataassembling unit 7, and the transmitting unit 8.

Because the basic configuration of the transmitting apparatus T7 is thesame as that of the transmitting apparatus T3 according to the thirdembodiment, the different points from the transmitting apparatus T3 willbe described below. In the communication system S7 according to theseventh embodiment, the parameter input unit 1 in the transmittingapparatus T3 of the third embodiment receives a parameter from which thenumber of messages per time is removed. In other words, the transmittingapparatus T7 of the communication system S7 receives a parameterincluding a reference value of the transmission error non-detectionprobability of the message per time, a probability of generating biterrors in a communication channel, a transmission rate of thecommunication channel, and the number of pieces of communicationequipment being connected.

The division length and code length determining unit 10 initializes thedivision length with the data length, and initializes the code lengthwith the length of a standard generator polynomial, and sends thedivision length, the code length, and the data length to thetransmission error non-detection probability judging unit 2. At thistime, the transmission error non-detection probability judging unit 2calculates a transmission interval that can achieve a desiredtransmission error non-detection probability, by using an evaluationfunction obtained by modifying the above-described evaluation function(1), based on the delivered division length and the code length, and thereceived parameter, and notifies the division length and code lengthdetermining unit 10 of the transmission interval as a judgment result.

The division length and code length determining unit 10 adopts thedivision length, the code length, and the transmission interval at thistime, and sends the transmission interval to the transmitting unit 8 ifthe transmission interval is feasible. If the transmission interval isnot feasible, the division length and code length determining unit 10either reduces the division length or increases the code length, anddelivers the reduced division length or the increased code length to thetransmission error non-detection probability judging unit 2 again. Theprocess is repeated until the feasible transmission interval isobtained. Upon receiving the transmission data (message) from thetransmission data assembling unit 7, the transmitting unit 8 waits asmuch as the transmission interval received from the division length andcode length determining unit 10, and transmits the transmission data(message) to the communication line C.

A transmission process performed by the transmitting apparatus T7 willbe described with reference to FIG. 7-2. FIG. 7-2 is a flowchart forexplaining a process performed by the transmitting apparatus T7according to the seventh embodiment. The parameter input unit 1 receivesa parameter (Step S1). As described above, the parameter does notinclude the number of messages per time. The parameter input unit 1sends the received parameter to the transmission error non-detectionprobability judging unit 2.

The header and data input unit 3 receives data to be transmitted to thereceiving apparatus R3, for example, from an application running in theequipment A, after the parameter input unit 1 receives the parameter.The header and data input unit 3 then sends the data length of the datato the division length and code length determining unit 10, and sends aheader and data to the data dividing unit 5.

The division length and code length determining unit 10 initializes thedivision length with the data length, and initializes the code lengthwith the length of a standard generator polynomial, and sends thedivision length and the code length to the transmission errornon-detection probability judging unit 2 (Step S17). The transmissionerror non-detection probability judging unit 2 calculates a transmissioninterval that can achieve a desired transmission error non-detectionprobability (reference value) (Step S26), based on the division length,the data length, and the code length received from the division lengthand code length determining unit 10, and the parameter received from theparameter input unit 1, and notifies the division length and code lengthdetermining unit 10 of the transmission interval as a judgment result.

The division length and code length determining unit 10 determineswhether the transmission interval received from the transmission errornon-detection probability judging unit 2 is feasible (Step S24). If thetransmission interval is not feasible (NO at Step S24), the divisionlength and code length determining unit 10 reduces the division lengthor increases the code length, and notifies the transmission errornon-detection probability judging unit 2 of the data length, thedivision length, and the code length again (Step S19). The process isrepeated until the feasible transmission interval is obtained. If thetransmission interval is feasible (YES at Step S24), the division lengthand code length determining unit 10 adopts the division length, the codelength, and the transmission interval at this time, and sends thetransmission interval to the transmitting unit 8.

Because the subsequent Steps S20 to S11 are the same as those in thethird embodiment, the description thereof is omitted. After Step S11 isperformed, upon receiving the transmission data (message) from thetransmission data assembling unit 7, the transmitting unit 8 waits asmuch as the transmission interval received from the division length andcode length determining unit 10 from the previous transmission (StepS22), transmits the transmission data (message) to the communicationline C, and finishes the series of processes (Step S12). Thetransmission data (message) transmitted from the transmitting apparatusT7 is sent to the receiving apparatus R3 through the communication lineC. The transmitting unit 8 does not need to wait as much as thetransmission interval in the first data transmission.

As described above, the transmitting apparatus T7 (communication systemS7) according to the seventh embodiment can transmit messages, bydividing data, by adding the CRC, and by controlling the transmissioninterval at the same time, so as to ensure the upper limit of thenon-detection probability of message transmission errors per time.Accordingly, it is possible to perform communication while ensuring thedesired reliability of correct communication, by restraining thetransmission error non-detection probability of the message to equal toor less than a desired target value. Because unnecessary data divisionand coding are not performed, it is possible to perform efficientcommunication.

Eighth Embodiment

In the transmitting apparatuses T1 and T5 according to the first andfifth embodiments, with the parameter for transmitting the initialtransmission data (message), the same division length can be obtained atevery transmission, by setting the data length to the maximum value inthe communication system. In other words, the division length is onlycalculated during initial transmission, and the calculated divisionlength can be used for the second and subsequent transmissions.

The division length of a message is determined so as to satisfy theconditions, by using the maximum data length of the message in thecommunication system and a predetermined CRC code length. Thetransmitting apparatuses T1 and T5 store the division length of themessage in a header portion of the message, only during the initialtransmission. During the communication, the transmitting apparatuses T1and T5 divide the messages based on the division length and transmit themessages. The receiving apparatuses R1 refer to the division length ofthe message stored in the header portion, only during the initialtransmission.

According to the eighth embodiment, the division length need not becalculated at every data transmission. Consequently, it is possible toensure the upper limit of the non-detection probability of messagetransmission errors per time, and reduce the processing load of thetransmitting apparatus at the same time. It is also possible to reducethe processing load applied to the header portion in which the messageis stored.

Ninth Embodiment

In the transmitting apparatuses T2 and T6 according to the second andsixth embodiments, with the parameter for transmitting the initialtransmission data (message), the same code length can be obtained atevery transmission, by setting the data length to the maximum value inthe communication system. In other words, the code length is onlycalculated during initial transmission, and the calculated code lengthcan be used for the second and subsequent transmissions.

In such an event, the CRC code length is determined, by setting thedivision length of a predetermined message as the maximum data length ofthe message in the system, when the transmitting apparatuses T2 and T6start communication. The transmitting apparatuses T2 and T6 store a code(code length) used to identify the type of the CRC code, in the headerportion of the message only during the initial transmission. During thecommunication, the transmitting apparatuses T2 and T6 transmit messagesby using the CRC code length. The receiving apparatuses R2 refer to thecode (code length) used to identify the type of the CRC code stored inthe header portion, only during the initial transmission.

According to the ninth embodiment, the code length need not becalculated at every data transmission. Consequently, it is possible toensure the upper limit of the non-detection probability of messagetransmission errors per time, and reduce the processing load of thetransmitting apparatus at the same time. It is also possible to reducethe processing load applied to the header portion in which the messageis stored.

Tenth Embodiment

In the transmitting apparatuses T3 and T7 according to the third andseventh embodiments, with the parameter for transmitting the initialtransmission data (message), the same division length and the codelength can be obtained at every transmission, by setting the data lengthto the maximum value in the communication system. In other words, thedivision length and the code length are only calculated during initialtransmission, and the calculated division length and code length can beused for the second and subsequent transmissions.

In such an event, the division length of a message and the CRC codelength are determined, based on the maximum data length of the messagein the system, when the transmitting apparatuses T3 and T7 startcommunication. The transmitting apparatuses T3 and T7 store a code (codelength) used to identify the division length of the message and the typeof the CRC code, in the header portion of the message, only during theinitial transmission. During communication, the transmitting apparatusesT3 and T7 transmit messages by using the division length and the CRCcode length. The receiving apparatuses R3 refer to the division lengthof the message and the type of the CRC code stored in the headerportion, only during the initial transmission.

According to the tenth embodiment, the division length and the codelength need not be calculated at every data transmission. Consequently,it is possible to ensure the upper limit of the non-detectionprobability of message transmission errors per time, and reduce theprocessing load of the transmitting apparatus such as calculating thedivision length and the code length at the same time. It is alsopossible to reduce the processing load applied to the header portion inwhich the message is stored.

Eleventh Embodiment

In the transmitting apparatus T4 according to the fourth embodiment,with the parameter for transmitting the initial transmission data(message), the same transmission interval can be obtained at everytransmission, by setting the data length to the maximum value in thecommunication system. In other words, the interval transmission is onlycalculated during initial transmission, and the calculated intervaltransmission can be used for the second and subsequent transmissions.

In such an event, the transmission interval for transmitting messages isdetermined, so as to satisfy the conditions, by using the maximum datalength of the message in the communication system and a predeterminedCRC code length, when the transmitting apparatus T4 startscommunication. During communication, messages are transmitted by usingthe transmission interval.

According to the eleventh embodiment, the transmission interval need notbe calculated at every data transmission. Consequently, it is possibleto ensure the upper limit of the non-detection probability of messagetransmission errors per time, and reduce the processing load of thetransmitting apparatus at the same time.

Twelfth Embodiment

In the transmitting apparatuses according to the first to thirdembodiments, the division length, the code length, or the transmissioninterval corresponding to the actual situation can be calculated, bymaking the parameter input unit 1 receive a parameter whose value isactually measured (such as a probability of generating bit errors in acommunication channel and the number of messages per unit time (messagefrequency)).

The probability of generating bit errors in a communication channel canbe measured, by transmitting a predetermined test pattern, andrecognizing a bit different from the test pattern at reception. Themessage frequency can be calculated from an average value of the numberof messages per one second at the transmission.

According to the twelfth embodiment, it is possible to performtransmission in which the division length, the code length, or thetransmission interval is optimized based on the communication situation,so as to ensure the upper limit of the non-detection probability ofmessage transmission errors per time.

Thirteenth Embodiment

In the transmitting apparatuses in the third embodiment, the seventhembodiment, the tenth embodiment, and the twelfth embodiment, thedivision length and code length determining unit 10 sets the code lengthto the minimum value (such as 16 bits) and sets the division length asthe data length. The division length and code length determining unit 10delivers the code length and the division length to the transmissionerror non-detection probability judging unit 2, and performs processwhile reducing the division length, until the judgment result of OK isnotified from the transmission error non-detection probability judgingunit 2.

If the judgment result of OK is obtained from the transmission errornon-detection probability judging unit 2, the division length and codelength determining unit 10 temporarily stores therein the whole messagelength. Then, the division length and code length determining unit 10increases the code length by one, and sets the division length as thedata length, and repeats the similar process until the judgment resultof OK is notified from the transmission error non-detection probabilityjudging unit 2. If the judgment result of OK is obtained, the divisionlength and code length determining unit 10 temporarily stores thereinthe whole message length. The division length and code lengthdetermining unit 10 performs the process while increasing the codelength by one, until the division length and the data length becomesequal.

The division length and code length determining unit 10 sends thedivision length and the code length of the shortest message length amongthe message lengths obtained in this manner, to the data dividing unit 5and the data CRC generating unit 6.

According to the thirteenth embodiment, it is possible to ensure theupper limit of the non-detection probability of message transmissionerrors per time, and increase the data rate in a message. Consequently,it is possible to perform communication with good line efficiency. Ifthe division length and the CRC code length can be optimized when anumber of short transmission message lengths are present for the maximummessage length, a data occupancy rate of the message can be increased,and the transmission line can be used effectively.

Fourteenth Embodiment

In the transmitting apparatuses according to the first to the thirdembodiments, the fifth to the tenth embodiments, the twelfth embodiment,and the thirteenth embodiment, with any one of the division length andthe code length or both stored in the header, the data block number towhich any one of the division length and the code length or both isapplied is correspondingly stored therein. For example, a longer code isadded to the data block up to the halfway, and a shorter code is addedto the short data block from the halfway, and the division length, thecode length (generator polynomial), and the applied data block numberare stored in the header. Even in such an event, the transmission errornon-detection probability of the whole message also satisfies thereference value.

The receiving apparatus obtains any one of the division length and thecode length or both and the data block number stored in the header, andapplies any one of the division length and the code length or both toeach of the data block.

According to the fourteenth embodiment, it is possible to perform anyone of optimum division and coding or both, corresponding to the contentof the message.

Fifteenth Embodiment

The receiving apparatuses according to the first to the fourteenthembodiments, if an error is detected in the received message, requestthe transmitting apparatus to retransmit the message. Based on therequest, the transmitting apparatus retransmits the message to thereceiving apparatus.

According to the fifteenth embodiment, in the first to the fourteenthembodiments described above, the communication reliability can furtherbe enhanced.

In the first to the fifteenth embodiments, the CRC is uses as an errordetection code. However, other error detection codes may also be used.

INDUSTRIAL APPLICABILITY

In this manner, the communication system according to the presentinvention can be advantageously used for a communication system requiredto ensure a transmission error non-detection probability per time andthat demands high reliability.

The invention claimed is:
 1. A transmitting apparatus for transmitting amessage to a receiving apparatus in a communication channel using anerror detection code, the transmitting apparatus comprising: atransmission interval determining unit configured to calculate atransmission error non-detection probability per unit of time based on apredetermined evaluation function and a transmission error non-detectionprobability per one message at a probability of generating bit errors inthe communication channel, and determine a transmission interval fortransmitting the message so that the transmission error non-detectionprobability per unit of time satisfies a predetermined reference value;and a transmitting unit configured to transmit the message based on thetransmission interval determined by the transmission intervaldetermining unit.
 2. The transmitting apparatus according to claim 1,wherein the transmission error non-detection probability per unit oftime is further calculated based on an error rate of measurement valueof actual communication.
 3. The transmitting apparatus according toclaim 1, wherein the message is reconfigured by determining a codelength of the error detection code without separating the message into aheader and data, and by generating the error detection code.
 4. Acommunication system comprising: the transmitting apparatus according toclaim 1; and the receiving apparatus that examines a header portionhaving a fixed length of a message received from the transmittingapparatus by a predetermined error detection code, and only when noerror is detected, divides data of the message into segments andexamines divided data by using a predetermined error detection code. 5.The transmitting apparatus according to claim 1, wherein thepredetermined evaluation function for the transmission errornon-detection probability per unit of time, is based on a probability ofgenerating bit errors in the communication channel, a transmission rateof the communication channel, a number of messages per unit of time, anda number of communication equipment being connected.
 6. The transmittingapparatus according to claim 1, wherein the transmission errornon-detection probability per unit of time is calculated based on thepredetermined evaluation function comprising: Λ=3600×R(p)×v×(m−1),wherein: Λ is the calculated transmission error non-detectionprobability per unit in time, v is a number of messages (transmissionfrequency) per one second, m is a number of devices being connectedincluding the transmitting apparatus, and R(p) is the transmission errornon-detection probability per one message, when a probability ofgenerating bit errors in the communication channel is p.
 7. Thetransmitting apparatus according to claim 6, wherein the R(p) iscalculated by a following function: R(p)=S (e=d ton){A(n,e)×p^e×(1−p)^(n−e)}, wherein S(e=d to n) is a sum of a value efrom d to n, for the subsequent expression in the curly brackets, d is acharacteristic value of the error detection code, A(n, e) is a two-termformula comprising =n!×e!/(n−e)!, n is the message length, and n! is thefactorial of n, p^e is p raised to the e-th power.
 8. A transmittingapparatus for transmitting a message to a receiving apparatus in acommunication channel using an error detection code, the transmittingapparatus comprising: a division length determining unit configured todetermine a division length of the message; a transmitting-side datadividing unit configured to divide data of the message into segmentsbased on the division length; a data error detection code generatingunit configured to generate a data error detection code having apredetermined code length for each of the segments of divided data; aheader error detection code generating unit configured to generate aheader error detection code having a predetermined code length for aheader of the message; an assembling unit configured to reconfigure themessage with the divided data, the data error detection code, theheader, and the header error detection code; a transmitting unitconfigured to transmit the message thus reconfigured; and a judging unitconfigured to calculate a transmission error non-detection probabilityper unit of time based on a predetermined evaluation function and atransmission error non-detection probability per one message at aprobability of generating bit errors in the communication channel,wherein the division length determining unit is configured to adopt adata length of the message as an initial value of the division length,and to reduce the division length until the judging unit determines thatthe transmission error non-detection probability per unit of timesatisfies a predetermined reference value.
 9. The transmitting apparatusaccording to claim 8, wherein the transmission error non-detectionprobability per unit of time is further calculated based on an errorrate of measurement value of actual communication.
 10. The transmittingapparatus according to claim 8, wherein the message is reconfigured bydetermining the code length without separating the message into theheader and data, and by generating the error detection code.
 11. Acommunication system comprising: the transmitting apparatus according toclaim 8; and the receiving apparatus that examines a header portionhaving a fixed length of a message received from the transmittingapparatus by a predetermined error detection code, and only when noerror is detected, divides data of the message into segments andexamines divided data by using a predetermined error detection code. 12.A transmitting apparatus for transmitting a message to a receivingapparatus in a communication channel using an error detection code, thetransmitting apparatus comprising: a transmitting-side data dividingunit configured to divide data of the message into segments based on apredetermined division length; a code length determining unit configuredto determine a code length of the error detection code added to data ofthe message divided into segments; a data error detection codegenerating unit configured to generate a data error detection codehaving the code length thus determined for each of the segments ofdivided data; a header error detection code generating unit configuredto generate a header error detection code having a predetermined codelength for a header of the message; an assembling unit configured toreconfigure the message with the divided data, the data error detectioncode, the header, and the header error detection code; a transmittingunit configured to transmit the message thus reconfigured; and a judgingunit configured to calculate a transmission error non-detectionprobability per unit of time based on a predetermined evaluationfunction and a transmission error non-detection probability per onemessage at a probability of generating bit errors in the communicationchannel, wherein the code length determining unit is configured to adopta standard code length as an initial value of the code length, andincreases the code length until the judging unit determines that thetransmission error non-detection probability per unit of time satisfiesa predetermined reference value.
 13. The transmitting apparatusaccording to claim 12, wherein the transmitting apparatus uses acorrespondence table that indicates a correspondence relationshipbetween the code length of the message and the error detection codecorresponding to the code length, in common with the receivingapparatus.
 14. The transmitting apparatus according to claim 12, whereinthe transmission error non-detection probability per unit of time isfurther calculated based on an error rate of measurement value of actualcommunication.
 15. The transmitting apparatus according to claim 12,wherein the message is reconfigured by determining the code lengthwithout separating the message into a header and data, and by generatingan error detection code.
 16. A communication system comprising: thetransmitting apparatus according to claim 12; and the receivingapparatus that examines a header portion having a fixed length of amessage received from the transmitting apparatus by a predeterminederror detection code, and only when no error is detected, divides dataof the message into segments and examines divided data by using apredetermined error detection code.
 17. A transmitting apparatus fortransmitting a message to a receiving apparatus in a communicationchannel using an error detection code, the transmitting apparatuscomprising: a division length and code length determining unitconfigured to determine a division length of the message and a codelength of the error detection code added to the message, atransmitting-side data dividing unit configured to divide data of themessage into segments based on the division length; a data errordetection code generating unit configured to generate a data errordetection code having the code length thus determined for each of thesegments of divided data; a header error detection code generating unitconfigured to generate a header error detection code having apredetermined code length for a header of the message; an assemblingunit configured to reconfigure the message with the divided data, thedata error detection code, the header, and the header error detectioncode; and a transmitting unit configured to transmit the reconfiguredmessage; and a judging unit configured to calculate a transmission errornon-detection probability per unit of time based on a predeterminedevaluation function and a transmission error non-detection probabilityper one message at a probability of generating bit errors in thecommunication channel, wherein the division length and code lengthdetermining unit is configured to adopt a data length of the message asan initial value of the division length, is configured to adopt astandard code length as an initial value of the code length, andconfigured to reduce the division length or to increase the code lengthuntil the judging unit determines that the transmission error non-detection probability per unit of time satisfies a predeterminedreference value.
 18. The transmitting apparatus according to claim 17,wherein the transmitting apparatus uses a correspondence table thatindicates a correspondence relationship between the code length of themessage and the error detection code corresponding to the code length,in common with the receiving apparatus.
 19. The transmitting apparatusaccording to claim 17, wherein the transmission error non-detectionprobability per unit of time is further calculated based on an errorrate of measurement value of actual communication.
 20. The transmittingapparatus according to claim 17, wherein the message is reconfigured bydetermining the code length without separating the message into theheader and data, and by generating the error detection code.
 21. Acommunication system comprising: the transmitting apparatus according toclaim 17; and the receiving apparatus that examines a header portionhaving a fixed length of a message received from the transmittingapparatus by a predetermined error detection code, and only when noerror is detected, divides data of the message into segments andexamines divided data by using a predetermined error detection code. 22.A transmitting apparatus for transmitting a message to a receivingapparatus in a communication channel using an error detection code, thetransmitting apparatus comprising: a transmitting-side data dividingunit configured to divide data of the message into segments based on adivision length; a data error detection code generating unit configuredto generate a data error detection code for each of the segments ofdivided data; a header error detection code generating unit configuredto generate a header error detection code for a header of the message;an assembling unit configured to reconfigure the message with thedivided data, the data error detection code, the header, and the headererror detection code; a transmitting unit configured to transmit thereconfigured message; a judging unit configured to calculate atransmission error non-detection probability per unit of time based on apredetermined evaluation function and a transmission error non-detectionprobability per one message at a probability of generating bit errors inthe communication channel; and a transmission interval determining unitconfigured to determine a transmission interval for transmitting thereconfigured message so that the transmission error non-detectionprobability per unit of time satisfies a predetermined reference value.23. The transmitting apparatus according to claim 22, wherein: thejudging unit is further configured to determine whether the transmissionerror non-detection probability per unit of time satisfies thepredetermined reference value, the transmitting apparatus furthercomprises a division length determining unit configured to determine thedivision length so that the transmission error non-detection probabilityper unit of time satisfies the predetermined reference value, and thetransmitting-side data dividing unit is further configured to divide thedata of the message into segments based on the determined divisionlength.
 24. The transmitting apparatus according to claim 23, whereinthe division length of the message is determined, by using a maximumdata length of the message and the error detection code having a codelength, at a start of communication with the receiving apparatus, andthe reconfigured message is transmitted by using the determined divisionlength, during communication with the receiving apparatus.
 25. Thetransmitting apparatus according to claim 24, wherein the divisionlength is stored in a header portion or a data portion of the messageand transmitted, only during initial communication with the receivingapparatus.
 26. The transmitting apparatus according to claim 22,wherein: the judging unit is further configured to determine whether thetransmission error non-detection probability per unit of time satisfiesthe predetermined reference value the transmitting apparatus furthercomprises a code length determining unit configured to determine a codelength of the data error detection code added to the message so that thetransmission error non-detection probability per unit of time satisfiesthe predetermined reference value, and the data error detection codegenerating unit is further configured to generate the data errordetection code by the determined code length.
 27. The transmittingapparatus according to claim 26, wherein the code length is determined,by setting a maximum data length of the message as the division length,at a start of communication with the receiving apparatus, and thereconfigured message is transmitted by using the determined code length,during communication with the receiving apparatus.
 28. The transmittingapparatus according to claim 27, wherein the code length is stored in aheader portion or a data portion of the message and transmitted, onlyduring the initial communication with the receiving apparatus.
 29. Thetransmitting apparatus according to claim 22, wherein the judging unitis further configured to determine whether the transmission errornon-detection probability per unit of time satisfies the predeterminedreference value, wherein the transmitting apparatus further comprising adivision length and code length determining unit configured to determinethe division length of the message and a code length of the data errordetection code added to the message, so that the transmission errornon-detection probability per unit of time satisfies the predeterminedreference value, wherein the transmitting-side data dividing unit isfurther configured to divide the data of the message into segments basedon the determined division length, and wherein the data error detectioncode generating unit is further configured to generate the data errordetection code having the determined code length.
 30. The transmittingapparatus according to claim 29, wherein the division length and thecode length are determined, by using a maximum data length of thereconfigured message, at a start of communication with the receivingapparatus, and the message is transmitted by using the division lengthand the code length thus determined, during communication with thereceiving apparatus.
 31. The transmitting apparatus according to claim30, wherein the division length and the code length are stored in aheader portion or a data portion of the message and transmitted, onlyduring the initial communication with the receiving apparatus.
 32. Thetransmitting apparatus according to claim 29, wherein the divisionlength and the code length are determined, so that a length of themessage thus divided for the error detection code is maximum.
 33. Thetransmitting apparatus according to claim 22, wherein the transmissioninterval is determined by using a maximum data length of the message andthe data error detection code having a predetermined code length, at astart of communication with the receiving apparatus, and thereconfigured message is transmitted by using the transmission intervalthus determined, during communication with the receiving apparatus. 34.The transmitting apparatus according to claim 22, wherein thetransmission error non-detection probability per unit of time is furthercalculated based on an error rate of measurement value of actualcommunication.
 35. The transmitting apparatus according to claim 22,wherein the message is reconfigured by determining a code length of theerror detection code without separating the message into the header anddata, and by generating the error detection code.
 36. A communicationsystem comprising: the transmitting apparatus according to claim 22; andthe receiving apparatus that examines a header portion having a fixedlength of a message received from the transmitting apparatus by apredetermined error detection code, and only when no error is detected,divides data of the message into segments and examines divided data byusing a predetermined error detection code.